歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> SHELL編程 >> awk使用shell參數變量

awk使用shell參數變量

日期:2017/3/1 13:52:29   编辑: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