day 30 awk复习

  1. 用awk 打印整个test.txt (以下操作都是用awk工具实现,针对test.txt)
  2. 查找所有包含 ‘bash’ 的行
  3. 用 ‘:’ 作为分隔符,查找第三段等于0的行
  4. 用 ‘:’ 作为分隔符,查找第一段为 ‘root’ 的行,并把该段的 ‘root’ 换成 ‘toor’ (可以连同sed一起使用)
  5. 用 ‘:’ 作为分隔符,打印最后一段
  6. 打印行数大于20的所有行
  7. 用 ‘:’ 作为分隔符,打印所有第三段小于第四段的行
  8. 用 ‘:’ 作为分隔符,打印第一段以及最后一段,并且中间用 ‘@’ 连接 (例如,第一行应该是这样的形式 'root@/bin/bash' )
  9. 用 ‘:’ 作为分隔符,把整个文档的第四段相加,求和
作答:
  1. awk '{print $0}' test.txt
  2. awk '/bash/' test.txt
  3. awk -F':' '$3=="0"' test.txt
  4. awk -F':' '$1=="root" ' test.txt| sed 's/root/toor/'
  5. awk -F':' '{print $NF}' test.txt
  6. awk 'NR>20' test.txt
  7. awk -F':' '$3<$4' test.txt
  8. awk -F':' '{print $1"@"$NF}' test.txt
  9. awk -F':' '{(tot=tot+$4)};END {print tot}' test.txt
1、awk 中使用外部shell变量 http://ask.apelearn.com/question/199
注:“ -v”选项用于定义参数,有多少个变量需要赋值,就需要多少个-v选项
2、awk 合并一个文件 http://ask.apelearn.com/question/493
NR表示读取的行数,FNR表示读取的当前行数。NR==FNR 就表示读取2.txt的时候, 同理NR>FNR表示读取1.txt的时候

3、把一个文件多行连接成一行 http://ask.apelearn.com/question/266

4、awk中gsub函数的使用 http://ask.apelearn.com/question/200
  • awk 'gsub(/222222/,"abc")' /tmp/awk/filename   --#把filename 文件中所有的“222222”替换为“abc”
  • awk -F ':' 'gsub(/222222/,"abc",$1) {print $0}' /tmp/awk/filename   --#替换$1中的“222222”为“abc”
  • awk 'sub(/222222/,"abc")' /tmp/awk/filename  --#把filename 文件中第一次出现的“222222”替换为“abc” 。结果与命令1的结果相同,该命令意思是把文件中每一行中第1次出现的“222222”替换为“abc”,而不是整个文件中第一次出现的222222。更改filename文件内容再验证如图2


5、过滤两个或多个关键词 http://ask.apelearn.com/question/198
  • grep -E '3|ss' 1.txt   --#找出文件1.txt 中包含"3"或者包含"ss"的行
  • egrep '3|ss' 1.txt    --#用egrep实现
  • awk '/3|ss/'  1.txt --#用awk实现
  • awk '/3/||/ss/'  1.txt

6、合并两个文件 http://ask.apelearn.com/question/945
  • paste  filename1  filename2 
如果要在两个文件连接处用一个指定的字符连接,可以用“-d”选项来指定
  • paste -d '+'  a.txt b.txt


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值