歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> SHELL編程

awk使用shell參數變量

awk是一行一行處理文本,當需要判斷當前處理行是否滿足特定條件時,需要從shell中輸入參數,然後放到awk的腳本命令中配合處理。   比如awk讀取shell的位置參數$1 ,如果直接放在awk命令中會與每行的第一個字段$1沖突,需要特殊處理。   例如有文件 iet.txt如下格式,需求是提取第一個字段或第二個字段為AA的行   AA BB CC DD EE  FF   CC DD EE FF GG DD   ...   腳本如下,保存為tiqu.sh   #!/bin/bash   sed '/^$/d' iet.txt|awk '{if(NF>3&&($1=="'$1'"||$2=="'$1'")){print $1","$2","$6 }}'   執行方法:   bash tiqu.sh AA   輸出結果:   AA BB FF   說明:   sed '/^$/d' iet.txt 去掉文本中的空行,然後awk判斷如果當前行字段大於三個且滿足條件就輸出第1,2,6列字段的值,用單引號隔離shell的變量,並且用雙引號包圍在shell變量的兩邊。   awk教程   普通的awk 命令格式   awk -F分隔符 'BEGIN { 初始化 } { 循環執行部分 } END { 結束處理 }'  file   分隔符,BEGIN,END部分可以省略,默認分隔符是空格   簡化的awk格式   awk '{循環執行命令}' file   常用awk命令:   awk列求和 awk 'BEGIN{total=0}{total+=$1}END{print total}'   待完善... ,如果你有什麼好命令也可以留言給我
Copyright © Linux教程網 All Rights Reserved