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

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 閱讀(224) 評論(0)  編輯 收藏 引用 所屬分類: Shell
<2010年3月>
28123456
78910111213
14151617181920
21222324252627
28293031123
45678910

常用鏈接

留言簿(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在线观看免费视频精品观看| 国产欧美精品一区二区三区介绍| 在线免费不卡视频| 久久综合精品国产一区二区三区| 久久精品国产亚洲一区二区三区| 伊人久久婷婷色综合98网| 欧美.www| 欧美日韩mp4| 香蕉av777xxx色综合一区| 欧美一区日本一区韩国一区| 亚洲国产精品视频| 日韩天堂av| 国产综合久久久久久| 亚洲国产精品成人一区二区| 欧美日韩一区在线播放| 久久精品女人| 欧美大尺度在线| 性欧美xxxx大乳国产app| 久久米奇亚洲| 亚洲一区二区在线看| 久久久av网站| 亚洲性视频网址| 噜噜噜躁狠狠躁狠狠精品视频 | 亚洲欧美日韩高清| 亚洲成色www久久网站| 亚洲网站视频| 最新国产の精品合集bt伙计| 亚洲欧美日韩国产一区二区三区| 亚洲二区视频在线| 亚洲欧美成人一区二区在线电影| 亚洲国产专区| 欧美在线视频网站| 亚洲在线免费视频| 欧美电影打屁股sp| 欧美14一18处毛片| 国产亚洲一区二区三区在线观看 | 久久一区激情| 国产精品一区二区男女羞羞无遮挡 | 好看的日韩av电影| 亚洲视频一区二区| 日韩视频免费在线观看| 久久久国产精品一区二区中文| 亚洲在线播放电影| 欧美精品激情在线| 欧美国产91| 影音先锋久久久| 欧美在线影院| 久久国产精品一区二区三区四区| 欧美日韩一区二区免费在线观看| 亚洲福利视频一区| 亚洲第一在线| 久久久久久久高潮| 久久精品国产999大香线蕉| 国产精品久久九九| 99日韩精品| 亚洲视频在线观看一区| 亚洲国产精品999| 亚洲激情在线| 欧美xart系列高清| 亚洲高清在线| 亚洲美女淫视频| 欧美激情综合网| 亚洲精品午夜| 亚洲一区二区免费视频| 国产精品日韩二区| 欧美一区免费视频| 久热综合在线亚洲精品| 亚洲国产欧美国产综合一区| 欧美成人四级电影| 亚洲欧洲久久| 亚洲免费在线播放| 国产乱码精品一区二区三区av| 午夜精品久久久久久久99热浪潮| 久久精品人人| 一区视频在线| 欧美精品v国产精品v日韩精品| 亚洲激情在线观看| 亚洲制服欧美中文字幕中文字幕| 国产精品香蕉在线观看| 欧美一区深夜视频| 欧美国产欧美亚洲国产日韩mv天天看完整 | 免费不卡亚洲欧美| 最新亚洲激情| 欧美揉bbbbb揉bbbbb| 亚洲欧美日韩人成在线播放| 六月婷婷一区| 一区二区激情视频| 国产欧美午夜| 美女主播精品视频一二三四| 亚洲美女区一区| 久久精品电影| 夜夜嗨av一区二区三区免费区| 国产精品一区免费观看| 久热成人在线视频| 在线一区二区三区做爰视频网站 | 欧美专区第一页| 亚洲国产高清在线| 国产精品久久激情| 老司机免费视频一区二区三区| 日韩视频在线一区二区| 久久婷婷国产综合精品青草| 一区二区三区欧美亚洲| 精品成人a区在线观看| 欧美日韩精品欧美日韩精品一| 欧美一区二区三区精品| 一本色道88久久加勒比精品 | 亚洲直播在线一区| 亚洲激情小视频| 国产亚洲激情在线| 欧美日韩国产综合一区二区| 久久精品国产69国产精品亚洲| 日韩视频专区| 亚洲国产精品久久久| 久久久亚洲影院你懂的| 欧美视频中文字幕| 欧美电影免费观看大全| 久久精品亚洲一区二区三区浴池| 99日韩精品| 亚洲日本中文字幕| 麻豆成人综合网| 欧美一区国产二区| 亚洲欧美日韩精品久久奇米色影视 | 久久久久久久国产| 午夜日韩在线| 亚洲一区二区免费在线| 一本色道久久综合亚洲91| 最新国产拍偷乱拍精品| 欧美激情一区二区久久久| 蜜臀91精品一区二区三区| 久久精品一区二区三区不卡| 欧美亚洲三级| 亚洲午夜一区二区三区| 亚洲视频在线观看视频| 亚洲一区二区三区精品视频 | 国产亚洲综合在线| 国产免费观看久久黄| 国产精品久久久久一区二区| 欧美三级精品| 国产精品爱久久久久久久| 欧美新色视频| 国产精品色午夜在线观看| 国产精品美女久久久久久2018| 欧美午夜在线视频| 国产精品性做久久久久久| 国产欧美一区二区三区久久| 国产精品天天看| 国产一区二区三区久久悠悠色av| 国产一区二区高清| **欧美日韩vr在线| 日韩天天综合| 亚洲一区二区在线视频| 欧美在线三区| 狼人社综合社区| 欧美成人免费大片| 亚洲美女91| 午夜伦欧美伦电影理论片| 久久久久久亚洲综合影院红桃 | 亚洲天堂成人在线视频| 性久久久久久久久| 久久久久欧美| 欧美日韩不卡视频| 国产日韩精品一区| 亚洲国产精品小视频| 亚洲视频在线观看三级| 久久久久久久波多野高潮日日| 奶水喷射视频一区| 99视频精品免费观看| 欧美诱惑福利视频| 欧美二区在线播放| 国产欧美日韩亚洲| 亚洲三级免费观看| 欧美与欧洲交xxxx免费观看| 欧美激情成人在线视频| 亚洲永久网站| 麻豆精品传媒视频| 国产精品色网| 日韩视频三区| 久久久夜夜夜| 99国内精品久久| 久久青青草综合| 国产精品久久午夜| 亚洲精品视频免费在线观看| 久久成人免费视频| 亚洲欧洲精品一区二区三区不卡 | 国产精品美女| 亚洲人成欧美中文字幕| 久久精品99国产精品酒店日本| 亚洲黄色成人| 久久久久久久一区二区| 蜜桃av综合| 欧美一区二区视频97| 亚洲日本免费电影| 欧美一区二区三区另类| 国产精品hd| 99视频精品免费观看| 欧美激情第10页| 久久精品噜噜噜成人av农村| 国产精品试看| 亚洲欧美国内爽妇网| 亚洲精品国产精品国自产在线|