文件abc.txt内容:
1 this is a file
2 apple orange banana pear grape
3 a test
10 There are orange,apple,mongo
用法一:
awk '{[pattern] action}' {filenames} # 行匹配语句 awk '' 只能用单引号
1、每行按空格或TAB分割,输出文本中的1、2项
实例1:awk '{print $1,$2}' abc.txt
输出:
2、printf-格式化输出,按指定格式输出文本中的1、4项
%-8s,表示长度最小为8个字符,不足的话右边补空格
%-10s,表示长度最小10个字符,不足的话右边补空格
awk '{print "%-8s %-10s\n",$1,$4}' abc.txt
用法二:
awk -F # -F相当于内置变量FS,指定分割字符
例1、 $ awk -F, '{print $1,$2}' abc.txt
用法三:
awk
-v # 设置变量
例子: awk -va=1 '{print $1,$1+a}' abc.txt # 设置变量,让变量+1
应用例子:
1)过滤第一列大于2的行
$awk '$1>2' abc.txt
2)过滤第一列等于2的行,并输出它的第2,3列
$awk '$1==2 {print $2,$3}' abc.txt
3)过滤第一列大于3并且第五列等于'apple'的行
$awk '$1>3 && $2=="There" {print $2,$3}' abc.txt