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

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
<2009年12月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

常用鏈接

留言簿(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国产精品日本| 亚洲黄色免费电影| 日韩一级黄色av| 国产日韩一区二区| 欧美激情综合色| 欧美午夜在线一二页| 欧美一区免费| 欧美1区免费| 亚洲欧美国产77777| 欧美在线视频观看| 亚洲第一区在线| 亚洲伦理久久| 国产午夜一区二区三区| 亚洲第一页在线| 欧美亚州韩日在线看免费版国语版| 久久av一区二区| 欧美精品18+| 久久九九久久九九| 欧美精品v国产精品v日韩精品| 亚洲欧美日本国产有色| 久久亚洲精品视频| 午夜精品区一区二区三| 牛牛影视久久网| 久久精品视频在线观看| 欧美日韩精品免费观看视一区二区| 欧美一区二区黄色| 欧美片第1页综合| 久色婷婷小香蕉久久| 国产精品美女诱惑| 亚洲欧洲日本在线| 黄色资源网久久资源365| 在线亚洲精品福利网址导航| 最新亚洲激情| 久久精品成人欧美大片古装| 欧美特黄视频| 欧美日韩成人在线播放| 久热这里只精品99re8久| 国产精品高潮呻吟久久| 亚洲第一在线| 国产自产精品| 亚洲欧洲av一区二区三区久久| 亚洲精品视频在线| 久久一区国产| 久久只有精品| 国产亚洲精品一区二区| 一区二区三区四区五区视频| 日韩午夜视频在线观看| 欧美+亚洲+精品+三区| 免费看亚洲片| 一区二区三区亚洲| 久久精品亚洲精品| 久久免费少妇高潮久久精品99| 国产精品亚洲一区二区三区在线| 中文在线一区| 性做久久久久久久免费看| 亚洲乱码国产乱码精品精天堂 | 国产精品都在这里| 亚洲国产精品一区二区久| 一区免费观看视频| 久久精品一二三| 久久综合九色九九| 国产专区欧美精品| 久久久国产精品亚洲一区| 久久亚洲图片| 亚洲激情在线视频| 欧美成人69| 亚洲免费电影在线观看| 亚洲免费在线视频一区 二区| 欧美三级视频| 亚洲综合日韩| 蜜桃久久av| 亚洲精品国偷自产在线99热| 欧美日本精品| 亚洲欧美日韩人成在线播放| 久久免费视频网| 亚洲国产精品成人综合| 美女黄色成人网| 欧美一区二区高清| 美女日韩欧美| 亚洲黄一区二区| 欧美日韩精品免费观看视一区二区 | 欧美一区二区视频在线| 国产午夜精品美女视频明星a级| 久久精品中文字幕免费mv| 欧美黄色成人网| 99精品视频一区| 国产欧美 在线欧美| 免费观看成人鲁鲁鲁鲁鲁视频| 日韩性生活视频| 久久国产精品久久久久久久久久 | 欧美国产日韩在线| 亚洲日本欧美日韩高观看| 欧美激情网站在线观看| 久久国产主播精品| 国产精品综合| 久久免费国产精品1| 久久国产视频网| 亚洲肉体裸体xxxx137| 亚洲国产毛片完整版| 欧美日韩精品免费观看视一区二区| 亚洲高清中文字幕| 亚洲精美视频| 久久综合中文色婷婷| 99成人免费视频| 亚洲免费影院| 欧美人妖在线观看| 蜜臀91精品一区二区三区| 日韩香蕉视频| 欧美黄色一区二区| 欧美亚洲一区二区三区| 最新日韩av| 免费精品99久久国产综合精品| 午夜精品剧场| 亚洲午夜极品| 亚洲精选久久| 亚洲国产欧美在线人成| 国产亚洲精品成人av久久ww| 国产精品盗摄久久久| 美女视频黄 久久| 久久理论片午夜琪琪电影网| 亚洲欧美日韩国产一区二区| 99re6这里只有精品| 亚洲激情社区| 欧美大片免费观看在线观看网站推荐| 性久久久久久久| 亚洲女同精品视频| 在线亚洲一区| 亚洲无人区一区| 亚洲一区二区av电影| 一区二区三区产品免费精品久久75 | 欧美在线资源| 午夜天堂精品久久久久| 在线亚洲国产精品网站| 99热在线精品观看| 一本综合久久| 亚洲天堂成人在线观看| 亚洲天堂激情| 亚洲一区二区在线看| 亚洲自拍偷拍福利| 亚洲欧美国产日韩天堂区| 午夜亚洲福利| 久久精品人人做人人爽| 久久露脸国产精品| 免费久久精品视频| 欧美日韩成人免费| 欧美午夜免费影院| 国产精品一区三区| 黄网站免费久久| 亚洲全黄一级网站| 在线视频欧美精品| 亚洲欧美日产图| 久久久久中文| 欧美高清hd18日本| 亚洲免费观看高清完整版在线观看熊 | 麻豆亚洲精品| 欧美日韩高清在线观看| 欧美午夜一区| 激情文学一区| 日韩视频在线永久播放| 亚洲欧美福利一区二区| 久久国产黑丝| 亚洲成人中文| 在线视频精品| 久久婷婷av| 欧美日韩免费观看一区三区 | 国产日韩在线视频| 在线观看不卡av| 夜夜嗨一区二区三区| 欧美亚洲自偷自偷| 亚洲成人在线视频播放 | 久久国产毛片| 欧美国产精品va在线观看| 中国女人久久久| 久久午夜精品| 国产精品乱码一区二三区小蝌蚪| 狠狠色噜噜狠狠色综合久| 99re6这里只有精品| 久久三级福利| 一区二区日韩欧美| 麻豆成人在线播放| 国产精品毛片大码女人| 亚洲国产视频a| 久久精品国产免费看久久精品| 91久久久久久久久久久久久| 久久av一区二区三区| 欧美性大战久久久久| 精品91久久久久| 欧美一区二区视频在线观看| 亚洲免费av观看|