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

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 閱讀(228) 評論(0)  編輯 收藏 引用 所屬分類: Shell
<2010年1月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
31123456

常用鏈接

留言簿(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>
            欧美日韩久久不卡| 久久久久久久波多野高潮日日 | 欧美亚洲一级| 99精品视频一区二区三区| 亚洲电影欧美电影有声小说| 国内久久婷婷综合| 在线精品视频在线观看高清| 在线播放一区| 亚洲日本欧美在线| 亚洲狼人综合| 亚洲午夜久久久久久久久电影院| 亚洲视频一区二区在线观看 | 亚洲欧美亚洲| 欧美在线|欧美| 久久久亚洲国产美女国产盗摄| 久久夜色精品国产欧美乱| 欧美成人中文| 欧美怡红院视频| 在线成人www免费观看视频| 亚洲国产裸拍裸体视频在线观看乱了 | 亚洲高清在线观看一区| 久久中文精品| 91久久久久久久久| 中国日韩欧美久久久久久久久| 午夜精品久久一牛影视| 久久久国产精彩视频美女艺术照福利 | 最新亚洲视频| 性久久久久久久久| 免费观看在线综合色| 欧美日韩亚洲高清| 国内精品美女在线观看| aa级大片欧美三级| 欧美一区二区在线观看| 免费的成人av| 一区二区三区欧美成人| 久久网站免费| 国产精品久久久久秋霞鲁丝| 亚洲国产成人高清精品| 亚洲欧美日韩一区在线观看| 麻豆精品视频| 亚洲欧美日韩精品久久| 欧美激情在线狂野欧美精品| 国产亚洲精品bv在线观看| 99xxxx成人网| 蜜桃av一区二区| 亚洲欧美综合国产精品一区| 欧美理论在线播放| 影音先锋久久资源网| 午夜精品久久久久久久久| 亚洲成人在线网| 欧美一乱一性一交一视频| 国产精品日韩欧美综合| 在线亚洲精品| 亚洲全部视频| 欧美电影在线观看完整版| 红桃av永久久久| 欧美在线中文字幕| 亚洲图色在线| 欧美午夜三级| 亚洲网站视频福利| 亚洲激情午夜| 欧美激情精品久久久久久大尺度| 影音先锋久久精品| 久久综合五月天婷婷伊人| 午夜精品久久久久久久男人的天堂| 欧美三区美女| 亚洲一区二区三区精品在线观看| 亚洲黄色av| 久久全球大尺度高清视频| 激情久久久久| 久热国产精品| 久久综合五月| 久久久久久免费| 欧美日韩一区二区三区在线视频| 海角社区69精品视频| 亚洲欧美综合另类中字| 中国成人在线视频| 国产精品一区免费在线观看| 亚洲伊人一本大道中文字幕| 一本高清dvd不卡在线观看| 欧美久久久久久| 一本一本久久a久久精品综合麻豆| 欧美激情 亚洲a∨综合| 麻豆精品网站| 亚洲高清网站| 91久久精品国产91性色tv| 欧美日韩专区在线| 亚洲午夜一区二区三区| 99re在线精品| 国产免费观看久久| 久久久噜噜噜久噜久久| 久久久精品网| 日韩一区二区电影网| 99在线精品免费视频九九视| 国产伦一区二区三区色一情| 免费成人在线观看视频| 欧美日韩免费观看一区=区三区| 亚洲视频第一页| 欧美亚洲一区在线| 亚洲经典在线| 亚洲一区影音先锋| 1204国产成人精品视频| 亚洲精品视频免费| 国产精品尤物福利片在线观看| 久久综合国产精品| 欧美老女人xx| 欧美www视频| 国产精品久久看| 亚洲激情不卡| 在线电影一区| 亚洲欧美日本国产有色| 亚洲精品四区| 久久精品国产一区二区三 | 久久综合成人精品亚洲另类欧美 | 亚洲国产成人不卡| 欧美亚洲综合在线| 亚洲视频大全| 欧美精品一区二区三区很污很色的| 欧美一区二区在线免费观看| 欧美激情视频网站| 免费的成人av| 黑丝一区二区| 欧美一区二区三区日韩| 亚洲午夜电影网| 欧美精品福利在线| 蘑菇福利视频一区播放| 国产精品极品美女粉嫩高清在线 | 亚洲图片你懂的| 亚洲欧美日韩综合| 蜜桃久久av| 老牛嫩草一区二区三区日本 | 欧美午夜一区二区福利视频| 亚洲第一区在线| 欧美va天堂在线| 亚洲欧洲一区二区在线观看| 欧美四级伦理在线| 亚洲男女毛片无遮挡| 亚洲网站在线观看| 国产精品视频免费一区| 亚洲性感美女99在线| 国产精品尤物福利片在线观看| 久久久久99精品国产片| 另类尿喷潮videofree| 一区二区三区四区国产| 欧美色中文字幕| 久久精品女人天堂| 久久久久欧美精品| 日韩天天综合| 午夜精品区一区二区三| 老鸭窝91久久精品色噜噜导演| 欧美成人免费全部观看天天性色| 一区二区国产日产| 香蕉成人啪国产精品视频综合网| 在线播放亚洲| 久久爱91午夜羞羞| 在线观看欧美亚洲| 99国产精品久久久久久久久久| 国产精品揄拍一区二区| 欧美成人免费va影院高清| 欧美呦呦网站| 欧美激情视频在线播放| 国产精品一区免费在线观看| 最新国产乱人伦偷精品免费网站 | 亚洲女女做受ⅹxx高潮| 亚洲电影免费观看高清完整版在线观看| 最新国产拍偷乱拍精品| 免费亚洲一区| 欧美一区二区三区播放老司机 | 亚洲伊人第一页| 亚洲国产精品成人va在线观看| 在线亚洲一区| 国产精品久久网| 亚洲国产第一| 含羞草久久爱69一区| 亚洲免费中文字幕| 亚洲精品一区在线| 久久久五月婷婷| 一区二区三区四区五区视频| 亚洲国产高潮在线观看| 欧美一区二区三区另类| 亚洲欧美卡通另类91av| 欧美人成在线视频| 久久久精品免费视频| 久久福利资源站| 国产精品一国产精品k频道56| 国产日产亚洲精品系列| 欧美福利网址| 性欧美xxxx视频在线观看| 欧美精品乱码久久久久久按摩 | 久久久久一区二区| 欧美三级免费| 亚洲伦理精品| 国产精品亚发布| 欧美日韩精品免费观看视一区二区| 久久欧美肥婆一二区| 国产日韩高清一区二区三区在线| 一区二区三区日韩| 国产一区二区成人久久免费影院| 国产精品二区影院| 亚洲视频在线观看网站|