关于awk、sed、cut、head、tail、gawk

cat data.txt | tail -n 20        //显示文件最后20行
cat data.txt | head -n 20        //显示文件前面20行
cat data.txt | head -n 500 | tail -n +100    //显示100行到500行
cat 1111.txt | head -n 3 | tail -n +3 | awk 'sub($1,"")'        //先显示第3行,再显示非第一列
awk -F ":" '{print $1, $3}'                 //以“:”为分隔符分割列,然后打印第一列和第三列
sed = data.txt | sed 'N;s/\n/\t/' > test.txt
awk '$0=NR". "$0' data.txt | > test.txt

说明:给data.txt每一行添加行号,并将修改后的内容重定向到test.txt文件中
拓展:指令 > : 如果文件存在,将原来文件的内容覆盖;文件不存在则创建文件,再添加信息。
         指令 >>:不会覆盖原文件内容,将内容追加到文件的尾部
注意:处理结果不能重定向覆盖到原文件,否则原文件会为空

head -n 5 data.txt | awk  '{print $6}' | awk  'NR == 1{print}'

说明:显示文件的前5行的第6列的第一行
注意:awk后要跟一个空格

 sed -i 's/\r$//' build.sh

说明:在windos下编辑的时候,换行结尾是\n\r , 而在linux下 是\n,所以才会有 多出来的\r,这条指令会把 build.sh 中的\r 替换成空白!
            本例中sed编辑器使用了s命令,s命令会用斜线间指定的第二个文本字符串来替换第一个文本字符串

 awk -F '[' '{print "["$2,"["$3}' session1.txt             //以“[”作为分隔符,显示第二列和第三列,并在该列显示结果前加一个“[”符
cat session1.txt | awk -F '[' '{if($4=="ERROR]" || $4=="WARNING]")print $0}'       //以“[”作为分隔符,当第四列值为"ERROR]"或"WARNING]"时,打印该行


说明:awk默认是以空格作为分隔符,可通过-F选项指定分隔符
注意:分隔符两边的单引号也可以去掉,如awk -F [ '{print "["$2,"["$3}' session1.txt
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值