Linux awk命令的基本用法

文件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

扫描二维码关注公众号,回复: 1475281 查看本文章


用法二:

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


猜你喜欢

转载自blog.csdn.net/shimengran107/article/details/80337859