sed命令处理文件的行数据,awk处理文件的列数据!
awk -F: '{print $7}' /etc/passwd
ps aux | awk '{x=x+1;} END {print x}'
awk -F: '{print $7;}' /etc/passwd
$0意味着打印所有列
假如有名为goods的以下文件
缠手带 200 拳击手套 100 护齿 300
需求一 打印库存量在200以下的记录
awk '$2<300 {printf "%s %s ",$1,"重新订货"}' goods
- END宏
缠手带 200 拳击手套 100 护齿 300
需求2:如果如上所示有空行,则计算出空行数
awk '/^ *$/ {count=count+1} END {print count}' goods ----此处END就是一个宏
- BEGIN宏
运行 sudo vim /etc/passwd,我们得到如下结果
为了拿到最后一列,我们可以如下写
awk 'BEGIN {FS=":"} {print $7}' /etc/passwd