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

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>
            欧美在线视频不卡| 欧美午夜片在线观看| 亚洲国产欧美国产综合一区| 亚洲一区三区电影在线观看| 亚洲午夜电影网| 亚洲欧美日韩一区在线观看| 先锋影音国产精品| 亚洲欧美成人精品| 久久久久久999| 欧美岛国激情| 夜夜精品视频| 久久九九全国免费精品观看| 欧美成人福利视频| 国产精品美女xx| 激情成人亚洲| 这里只有精品电影| 久久久噜噜噜久久中文字免| 亚洲国产福利在线| 亚洲天堂av图片| 久久综合狠狠综合久久综合88| 欧美不卡激情三级在线观看| 欧美午夜三级| 亚洲全黄一级网站| 亚洲欧美综合精品久久成人| 久久人人精品| 国产精品99久久久久久久女警| 欧美一区二区视频97| 欧美日韩国产精品| 在线视频成人| 欧美一级久久久久久久大片| 亚洲高清在线| 欧美有码视频| 国产精品成人一区二区网站软件| 亚洲国产精品久久久久婷婷884 | 欧美婷婷六月丁香综合色| 国产三级精品在线不卡| 亚洲美女黄网| 久久久精品动漫| 亚洲久久一区| 久久久久久久久综合| 欧美日韩午夜剧场| 亚洲国产精品va在线观看黑人| 亚洲综合99| 亚洲伦理中文字幕| 老司机67194精品线观看| 国产欧美一区二区白浆黑人| 亚洲一二三区精品| 亚洲国产成人porn| 美国十次成人| 亚洲国产色一区| 久久资源av| 午夜欧美视频| 国产欧美精品国产国产专区| 亚洲午夜激情| 亚洲少妇最新在线视频| 欧美日韩伊人| 亚洲午夜一区二区| 日韩午夜一区| 欧美午夜一区| 午夜一级久久| 性欧美8khd高清极品| 国产亚洲精品7777| 久久精品人人做人人综合| 性色av一区二区三区| 国产一区二区成人久久免费影院| 久久久国产成人精品| 久久经典综合| 亚洲人体偷拍| 亚洲美女免费精品视频在线观看| 欧美精品一区视频| 亚洲视频中文| 性8sex亚洲区入口| 黄色av日韩| 亚洲欧洲精品一区二区| 欧美日韩午夜剧场| 午夜免费久久久久| 久久精品五月婷婷| 日韩一二三区视频| 中文网丁香综合网| 国产午夜精品久久久久久免费视| 另类激情亚洲| 欧美美女操人视频| 欧美一区二区三区四区在线观看| 性色av一区二区三区红粉影视| 亚洲第一区在线观看| 日韩午夜av在线| 国内精品伊人久久久久av影院| 欧美成年视频| 国产精品www994| 免费精品99久久国产综合精品| 你懂的亚洲视频| 亚洲男人第一av网站| 久久国产精品久久久久久久久久| 亚洲欧洲精品一区二区三区波多野1战4| 亚洲黄一区二区| 国产色综合天天综合网| 欧美激情精品久久久久久黑人 | 国产精品福利久久久| 欧美一区二区在线免费播放| 久久久一区二区三区| 在线亚洲精品福利网址导航| 久久gogo国模裸体人体| 99国产麻豆精品| 欧美一区成人| 亚洲精品孕妇| 欧美一级视频免费在线观看| 99国产精品国产精品毛片| 亚洲自拍偷拍麻豆| 亚洲精品免费看| 久久成人18免费观看| 亚洲一区二区精品在线| 免费黄网站欧美| 欧美一级专区免费大片| 欧美精品一区二区三区久久久竹菊 | 亚洲美女诱惑| 亚洲国产精品久久91精品| 亚洲自拍偷拍麻豆| 在线天堂一区av电影| 欧美jizz19性欧美| 久久精品亚洲一区| 国产精品久久九九| 亚洲黄色尤物视频| 亚洲国产精品久久久久秋霞蜜臀 | 99re6这里只有精品视频在线观看 99re6这里只有精品 | 一区二区三区www| 蜜臀久久99精品久久久画质超高清| 欧美一区二区三区四区在线| 欧美日产在线观看| 亚洲电影免费在线| 亚洲国产福利在线| 久久久久久黄| 久久久综合免费视频| 国产精自产拍久久久久久| 亚洲欧美日韩综合国产aⅴ| 亚洲精品在线三区| 美女视频黄免费的久久| 老司机成人网| 一区精品在线| 久久久中精品2020中文| 男人的天堂亚洲| 在线精品国精品国产尤物884a| 久久国产精品电影| 美女啪啪无遮挡免费久久网站| 国产在线精品一区二区夜色| 欧美在线一区二区| 另类尿喷潮videofree| 精品99视频| 免费在线亚洲欧美| 亚洲欧洲一区二区三区| 一区二区三区高清视频在线观看| 欧美二区在线播放| 亚洲毛片在线看| 午夜视频一区在线观看| 一区二区三区不卡视频在线观看| 国产一级揄自揄精品视频| 亚洲欧美电影在线观看| 久久精品首页| 亚洲国产精品一区制服丝袜| 欧美chengren| 在线视频精品一| 久久精品免费看| 亚洲国产精品激情在线观看| 欧美激情性爽国产精品17p| 99精品欧美一区二区蜜桃免费| 亚洲欧美久久久久一区二区三区| 国产伦精品一区二区三| 久久久久国产精品人| 亚洲激情在线观看| 亚洲欧美日韩综合国产aⅴ| 狠狠色丁香久久婷婷综合丁香| 欧美成年人视频网站| 亚洲一区中文| 亚洲电影免费观看高清完整版在线观看 | 制服诱惑一区二区| 欧美一区不卡| 亚洲人成免费| 国产日韩精品一区二区三区在线| 久久久夜夜夜| 亚洲一区日韩在线| 欧美成人免费网站| 亚洲免费视频在线观看| 亚洲国产一区二区精品专区| 欧美日韩爆操| 久久综合久久综合久久| 这里只有精品丝袜| 麻豆久久久9性大片| 亚洲欧美日韩精品| 亚洲电影在线看| 国产欧美日韩在线观看| 欧美精品一区二区三区蜜臀| 欧美亚洲日本国产| 日韩一二三区视频| 麻豆国产精品一区二区三区| 亚洲欧美精品在线观看| 日韩视频一区二区三区在线播放 | 精品成人在线观看| 国产精品久久久久久五月尺| 欧美不卡在线| 久久婷婷麻豆| 久久超碰97人人做人人爱|