好奇的探索者,理性的思考者,踏实的行动者。
Table of Contents:
awk 比 sed 强的地方在于不仅能以行为单位还能以列为单位处理文 件
默认分隔符是连续的空格和Tab
awk option 'script' file1 file2 ...
awk option -f scriptfile file1 file2 ...
script格式为
/pattern/{actions}
condition{actions}
和 sed 类似, pattern 是正则表达式, actions 是一系列操作。 awk 程序一行一行读出待处理文件,
如果某一行与 pattern 匹配,或者满足 condition 条件,则执行相应的 actions ,如果一条 awk 命令
只有 actions 部分,则 actions 作用于待处理文件的每一行。
处理过程:
While(还有下一行) {
1:读取下一行,并把下一行赋给$0,各列赋给$1,$2...$N变量
2: 用指定的命令来处理该行
}
第1个简单awk脚本
awk ‘{printf “%s\n” , $1}’ xx.txt // 把xx.txt的每一行进行输出
排除第一列(打印第2列到最后):
awk '{$1=""; print $0}' 文件名
排除多列:
awk '{$1=$2=""; print $0}' 文件名