青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 297,  comments - 15,  trackbacks - 0
以前還在玩UNIX的時候就覺得里面有個命令很好用AWK,功能強大.還有SED和ED,用這三個命令就可以解決平時工作中的問題。
前幾天在單位做報批量處理時,要是用手工一個網點一個網點慢慢的改的話,不通宵也得搞到3、4點鐘。對于我這種懶人,那是很痛苦的事,于是只得做些懶人喜歡做的事了。花了二十分鐘左右,終于把SHELL的腳本寫好,每次處理43個網點的報表,用時不到15秒。
腳本中所用命令為:
find
awk
由于長時間沒有寫SHELL里的腳本了,花了好些時間測試,這里重溫下AWK的一些常用的用法:
awk 用法:awk ' pattern {action} '
變量名   含義
ARGC   命令行變元個數
ARGV   命令行變元數組
FILENAME  當前輸入文件名
FNR   當前文件中的記錄號
FS   輸入域分隔符,默認為一個空格
RS   輸入記錄分隔符
NF   當前記錄里域個數
NR   到目前為止記錄數
OFS   輸出域分隔符
ORS   輸出記錄分隔符
1、awk '/101/' file 顯示文件file中包含101的匹配行。
awk '/101/,/105/' file
awk '$1 == 5' file
awk '$1 == "CT"' file 注意必須帶雙引號
awk '$1 * $2 >100 ' file
awk '$2 >5 && $2<=15' file
2、awk '{print NR,NF,$1,$NF,}' file 顯示文件file的當前記錄號、域數和每一行的第一個和最后一個域。
awk '/101/ {print $1,$2 + 10}' file 顯示文件file的匹配行的第一、二個域加10。
awk '/101/ {print $1$2}' file
awk '/101/ {print $1 $2}' file 顯示文件file的匹配行的第一、二個域,但顯示時域中間沒有分隔符。
3、df | awk '$4>1000000 ' 通過管道符獲得輸入,如:顯示第4個域滿足條件的行。
4、awk -F "|" '{print $1}' file 按照新的分隔符“|”進行操作。
awk 'BEGIN { FS="[: \t|]" }
{print $1,$2,$3}' file 通過設置輸入分隔符(FS="[: \t|]")修改輸入分隔符。
Sep="|"
awk -F $Sep '{print $1}' file 按照環境變量Sep的值做為分隔符。
awk -F '[ :\t|]' '{print $1}' file 按照正則表達式的值做為分隔符,這里代表空格、:、TAB、|同時做為分隔符。
awk -F '[][]' '{print $1}' file 按照正則表達式的值做為分隔符,這里代表[、]
5、awk -f awkfile file 通過文件awkfile的內容依次進行控制。
cat awkfile
/101/{print "\047 Hello! \047"} --遇到匹配行以后打印 ' Hello! '.\047代表單引號。
{print $1,$2} --因為沒有模式控制,打印每一行的前兩個域。
6、awk '$1 ~ /101/ {print $1}' file 顯示文件中第一個域匹配101的行(記錄)。
7、awk 'BEGIN { OFS="%"}
{print $1,$2}' file 通過設置輸出分隔符(OFS="%")修改輸出格式。
8、awk 'BEGIN { max=100 ;print "max=" max} BEGIN 表示在處理任意行之前進行的操作。
{max=($1 >max ?$1:max); print $1,"Now max is "max}' file 取得文件第一個域的最大值。
(表達式1?表達式2:表達式3 相當于:
if (表達式1)
表達式2
else
表達式3
awk '{print ($1>4 ? "high "$1: "low "$1)}' file
9、awk '$1 * $2 >100 {print $1}' file 顯示文件中第一個域匹配101的行(記錄)。
10、awk '{$1 == 'Chi' {$3 = 'China'; print}' file 找到匹配行后先將第3個域替換后再顯示該行(記錄)。
awk '{$7 %= 3; print $7}' file 將第7域被3除,并將余數賦給第7域再打印。
11、awk '/tom/ {wage=$2+$3; printf wage}' file 找到匹配行后為變量wage賦值并打印該變量。
12、awk '/tom/ {count++;}
END {print "tom was found "count" times"}' file END表示在所有輸入行處理完后進行處理。
13、awk 'gsub(/\$/,"");gsub(/,/,""); cost+=$4;
END {print "The total is $" cost>"filename"}' file gsub函數用空串替換$和,再將結果輸出到filename中。
1 2 3 $1,200.00
1 2 3 $2,300.00
1 2 3 $4,000.00
awk '{gsub(/\$/,"");gsub(/,/,"");
if ($4>1000&&$4<2000) c1+=$4;
else if ($4>2000&&$4<3000) c2+=$4;
else if ($4>3000&&$4<4000) c3+=$4;
else c4+=$4; }
END {printf "c1=[%d];c2=[%d];c3=[%d];c4=[%d]\n",c1,c2,c3,c4}"' file
通過if和else if完成條件語句
awk '{gsub(/\$/,"");gsub(/,/,"");
if ($4>3000&&$4<4000) exit;
else c4+=$4; }
END {printf "c1=[%d];c2=[%d];c3=[%d];c4=[%d]\n",c1,c2,c3,c4}"' file
通過exit在某條件時退出,但是仍執行END操作。
awk '{gsub(/\$/,"");gsub(/,/,"");
if ($4>3000) next;
else c4+=$4; }
END {printf "c4=[%d]\n",c4}"' file
通過next在某條件時跳過該行,對下一行執行操作。

14、awk '{ print FILENAME,$0 }' file1 file2 file3>fileall 把file1、file2、file3的文件內容全部寫到fileall中,格式為
打印文件并前置文件名。
15、awk ' $1!=previous { close(previous); previous=$1 }
{print substr($0,index($0," ") +1)>$1}' fileall 把合并后的文件重新分拆為3個文件。并與原文件一致。
16、awk 'BEGIN {"date"|getline d; print d}' 通過管道把date的執行結果送給getline,并賦給變量d,然后打印。
17、awk 'BEGIN {system("echo "Input your name:\\c""); getline d;print "\nYour name is",d,"\b!\n"}'
通過getline命令交互輸入name,并顯示出來。
awk 'BEGIN {FS=":"; while(getline< "/etc/passwd" >0) { if($1~"050[0-9]_") print $1}}'
打印/etc/passwd文件中用戶名包含050x_的用戶名。
18、awk '{ i=1;while(i<NF) {print NF,$i;i++}}' file 通過while語句實現循環。
awk '{ for(i=1;i<NF;i++) {print NF,$i}}' file 通過for語句實現循環。
type file|awk -F "/" '
{ for(i=1;i<NF;i++)
{ if(i==NF-1) { printf "%s",$i }
else { printf "%s/",$i } }}' 顯示一個文件的全路徑。
用for和if顯示日期
awk 'BEGIN {
for(j=1;j<=12;j++)
{ flag=0;
printf "\n%d月份\n",j;
for(i=1;i<=31;i++)
{
if (j==2&&i>28) flag=1;
if ((j==4||j==6||j==9||j==11)&&i>30) flag=1;
if (flag==0) {printf "%02d%02d ",j,i}
}
}
}'
19、在awk中調用系統變量必須用單引號,如果是雙引號,則表示字符串
Flag=abcd
awk '{print '$Flag'}' 結果為abcd
awk '{print "$Flag"}' 結果為$Flag
轉自:
http://blog.chinaunix.net/u/28584/showart.php?id=1712347
posted on 2009-11-23 21:20 chatler 閱讀(230) 評論(0)  編輯 收藏 引用 所屬分類: Shell
<2010年2月>
31123456
78910111213
14151617181920
21222324252627
28123456
78910111213

常用鏈接

留言簿(10)

隨筆分類(307)

隨筆檔案(297)

algorithm

Books_Free_Online

C++

database

Linux

Linux shell

linux socket

misce

  • cloudward
  • 感覺這個博客還是不錯,雖然做的東西和我不大相關,覺得看看還是有好處的

network

OSS

  • Google Android
  • Android is a software stack for mobile devices that includes an operating system, middleware and key applications. This early look at the Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.
  • os161 file list

overall

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产欧美精品国产国产专区| 欧美成年人视频网站欧美| 亚洲电影在线观看| 欧美在线视频在线播放完整版免费观看| 亚洲成在线观看| 国产视频综合在线| 国产精品爱久久久久久久| 欧美国产日韩在线| 免费成人高清| 久久综合九色欧美综合狠狠| 性色av一区二区三区在线观看| 在线亚洲欧美视频| 日韩一区二区精品葵司在线| 亚洲激情在线观看| 亚洲高清久久| 亚洲高清资源| 亚洲激情二区| 亚洲国产清纯| 亚洲激情婷婷| 亚洲精品乱码久久久久久蜜桃91| 亚洲国产精品成人精品| 欧美二区在线| 亚洲国产婷婷香蕉久久久久久| 欧美国产一区二区| 欧美激情影音先锋| 亚洲国产成人午夜在线一区 | 欧美日韩国产系列| 欧美激情一区二区三区全黄| 欧美成年人在线观看| 免费观看一级特黄欧美大片| 美女网站在线免费欧美精品| 久久在线免费视频| 欧美成年网站| 欧美日韩国产高清| 欧美体内she精视频| 国产精品久久久久999| 国产精品一区二区三区四区| 国产日韩欧美a| 国产自产v一区二区三区c| 狠狠做深爱婷婷久久综合一区| 一区在线视频| 91久久一区二区| 亚洲视频一二| 欧美在线亚洲一区| 六月婷婷一区| 亚洲国产岛国毛片在线| 99re热这里只有精品视频| 亚洲一区成人| 久久国产主播| 欧美大片va欧美在线播放| 亚洲国产成人av好男人在线观看| 欧美一区激情视频在线观看| 欧美亚洲在线| 久久久久久免费| 欧美国产综合视频| 国产精品扒开腿爽爽爽视频| 国产香蕉97碰碰久久人人| 亚洲高清资源| 亚洲午夜电影| 久久亚洲私人国产精品va| 欧美激情视频一区二区三区不卡| 日韩视频中文字幕| 欧美一级在线亚洲天堂| 麻豆精品在线视频| 国产精品久久久久久久久久ktv | 亚洲一区欧美一区| 久久高清免费观看| 亚洲电影第1页| 亚洲一区二区三区在线看| 久久亚洲春色中文字幕| 国产精品vvv| 在线国产欧美| 蜜臀av性久久久久蜜臀aⅴ| 蜜桃av一区二区三区| 欧美性猛交99久久久久99按摩 | 亚洲欧美激情一区二区| 蜜桃久久av| 国产美女诱惑一区二区| 亚洲精品视频在线观看免费| 欧美一区不卡| 亚洲国产精品综合| 性做久久久久久免费观看欧美 | 久久福利毛片| 亚洲精品国产视频| 久久精品成人| 国产精品国产a级| 亚洲黑丝在线| 久久久www成人免费精品| 亚洲乱亚洲高清| 久久久一区二区| 国产欧美日韩激情| 亚洲调教视频在线观看| 欧美激情精品久久久久久大尺度| 午夜精品国产| 欧美午夜不卡影院在线观看完整版免费| 一区在线视频观看| 欧美亚洲一区三区| 9久草视频在线视频精品| 男人插女人欧美| 精品av久久久久电影| 欧美一区二区三区免费在线看| 亚洲精品视频一区二区三区| 巨胸喷奶水www久久久免费动漫| 国产日韩精品在线观看| 亚洲免费中文| 99re视频这里只有精品| 欧美福利视频在线| 亚洲激情在线激情| 欧美成人国产| 久久午夜精品| 在线成人h网| 久久综合中文| 久久精品亚洲精品国产欧美kt∨| 国产精品永久在线| 香蕉尹人综合在线观看| 一区二区不卡在线视频 午夜欧美不卡'| 欧美刺激性大交免费视频| 亚洲国产精品123| 美腿丝袜亚洲色图| 久久久久久久综合| 精品福利免费观看| 另类天堂视频在线观看| 久久精品国产一区二区电影| 国产欧美日韩亚洲一区二区三区| 欧美亚洲免费| 亚洲欧美亚洲| 国产一区二区中文字幕免费看| 久久精品国产久精国产思思| 性色一区二区三区| 好吊色欧美一区二区三区四区| 久久漫画官网| 老妇喷水一区二区三区| 亚洲国产婷婷香蕉久久久久久| 欧美成人a视频| 欧美成人亚洲成人日韩成人| 亚洲毛片av| 一区二区电影免费观看| 国产精品青草久久| 久久精品成人欧美大片古装| 久久国产乱子精品免费女| 狠狠狠色丁香婷婷综合久久五月| 麻豆freexxxx性91精品| 快播亚洲色图| 日韩亚洲欧美精品| 一区二区三区**美女毛片| 国产精品一区二区女厕厕| 久久青草欧美一区二区三区| 毛片av中文字幕一区二区| 99精品欧美一区二区三区综合在线 | 99国产麻豆精品| 国产乱码精品一区二区三区忘忧草 | 亚洲精品免费电影| 国产精品久久久久7777婷婷| 久久国产婷婷国产香蕉| 老司机凹凸av亚洲导航| 一区二区高清视频| 性视频1819p久久| 亚洲欧洲精品一区二区三区不卡| 亚洲精品中文字幕女同| 国产欧美日韩在线观看| 欧美电影在线观看| 国产精品mv在线观看| 久久亚洲精选| 欧美日韩视频在线| 久久这里只有精品视频首页| 欧美福利精品| 欧美中文字幕视频在线观看| 噜噜噜在线观看免费视频日韩| 一区二区三区高清在线观看| 性欧美大战久久久久久久免费观看| 亚洲国产精品久久久久秋霞影院| 亚洲最黄网站| 亚洲第一成人在线| 亚洲午夜av电影| 亚洲国产婷婷| 午夜精品久久久久久久男人的天堂| 亚洲国产精品成人一区二区 | 国产专区欧美专区| 日韩视频精品| 1204国产成人精品视频| 亚洲一区二区三区免费视频| 亚洲国产精品视频| 西瓜成人精品人成网站| 99在线精品观看| 久久久久综合网| 欧美一区日本一区韩国一区| 欧美精品一区二区三区久久久竹菊 | 欧美精品一区二区三区一线天视频| 久久激情一区| 国产精品v欧美精品v日韩 | 欧美一级视频一区二区| 亚洲视频香蕉人妖| 免费亚洲一区二区| 久久亚洲综合色一区二区三区| 国产精品二区在线| 亚洲精品色图| 亚洲精品一区二区三区婷婷月| 久久成人国产| 欧美一级午夜免费电影| 欧美日韩在线直播|