系統(tǒng)之家 - 系統(tǒng)光盤下載網(wǎng)站!

當(dāng)前位置:系統(tǒng)之家 > 系統(tǒng)教程 > Linux Shell文本處理命令

Linux Shell文本處理命令匯總(6)

時間:2014-12-31 15:50:39 作者:qipeng 來源:系統(tǒng)之家 1. 掃描二維碼隨時看資訊 2. 請使用手機瀏覽器訪問: https://m.xitongzhijia.net/xtjc/20141231/33843.html 手機查看 評論

  •累加每一行的第一個字段:

  代碼如下:

  echo -e ”1\n 2\n 3\n 4\n“ | awk ‘BEGIN{num = 0 ;

  print ”begin“;} {sum += $1;} END {print ”==“; print sum }’

  傳遞外部變量

  代碼如下:

  var=1000

  echo | awk ‘{print vara}’ vara=$var # 輸入來自stdin

  awk ‘{print vara}’ vara=$var file # 輸入來自文件

  用樣式對awk處理的行進(jìn)行過濾

  awk ‘NR 《 5′ #行號小于5

  awk ‘NR==1,NR==4 {print}’ file #行號等于1和4的打印出來

  awk ‘/linux/’ #包含linux文本的行(可以用正則表達(dá)式來指定,超級強大)

  awk ‘!/linux/’ #不包含linux文本的行

  設(shè)置定界符

  使用-F來設(shè)置定界符(默認(rèn)為空格)

  awk -F: ‘{print $NF}’ /etc/passwd

  讀取命令輸出

  使用getline,將外部shell命令的輸出讀入到變量cmdout中;

  代碼如下:

  echo | awk ‘{”grep root /etc/passwd“ | getline cmdout; print cmdout }’

  在awk中使用循環(huán)

  for(i=0;i《10;i++){print $i;}

  for(i in array){print array[i];}

  eg:

  以逆序的形式打印行:(tac命令的實現(xiàn))

  代碼如下:

  seq 9| \

  awk ‘{lifo[NR] = $0; lno=NR} \

  END{ for(;lno》-1;lno--){print lifo[lno];}

  } ’

  awk實現(xiàn)head、tail命令

  •head:

  代碼如下:

  awk ‘NR《=10{print}’ filename

  •tail:

  代碼如下:

  awk ‘{buffer[NR%10] = $0;} END{for(i=0;i《11;i++){ \

  print buffer[i %10]} } ’ filename

  打印指定列

  •awk方式實現(xiàn):

  代碼如下:

  ls -lrt | awk ‘{print $6}’

  •cut方式實現(xiàn)

  代碼如下:

  ls -lrt | cut -f6

  打印指定文本區(qū)域

  •確定行號

  代碼如下:

  seq 100| awk ‘NR==4,NR==6{print}’

發(fā)表評論

0

沒有更多評論了

評論就這些咯,讓大家也知道你的獨特見解

立即評論

以上留言僅代表用戶個人觀點,不代表系統(tǒng)之家立場

其他版本軟件

熱門教程

人氣教程排行

Linux系統(tǒng)推薦

官方交流群 軟件收錄