linux中sed,awk命令学习

一.sed

1.个人理解: sed可以用来直接操作文件,比如直接查看文件某行,编辑文件(官方解释:自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等)

2.命令格式

sed [参数部分] 命令部分 [文本文件]

参数部分常用项 :  -i 直接编辑文件,文件会改变;   -n 直接输出到屏幕上(一般和命令部分的p合用);  

命令部分常用项 :  a(在下一行追加)   i(在上一行追加)   d(删除)    s(针对关键字替换)   c(针对行的替换)   p(输出)

                             技巧:  ①可以在命令部分前加行比如第x到第y行表示为      x,ya---->表示从x到y行所有的行追加的意思

                                       ②$表示最后一行,如果想表达从第5行到最后一行,可以写成     5,$

                                       ③文本之间的搜索直接匹配,比如 s/hello/hi/g, 表示把文本中所有的hello换成hi ( g表示全局,s表示替换)                                   

                                       ④注意,命令部分中  ""  和'' 的区别, "" 里面可以放置变量.

sed '1a drink tea' ab.txt (第一行后面追加drink tea)     sed '1d' ab.txt (删除第一行)   

sed 's/要替换的字符串/新的字符串/g' ab.txt     sed -i '/匹配字符串/d' ab.txt

 二.awk

1.个人理解: 主要用于统计文本文件,也是每次处理一行

2.命令格式:

    awk [options] 'command' files

   内置几个变量: $0(整行记录) $1(当前记录的第几列) FILENAME(文件名)   FS(文件分隔符)  RS(行间分割符)                                                      NF(字段数量)  NR(第几行)  

        注意:  ① 可以在{}中优雅的写函数表达式,指令执行的位置可以添加条件或者正则表达式

                            例子:awk  'NR==2{print $0}'   filename  -->打印第二行

                  ② awk默认以空格分割字段,如果想使用其他符号,可以使用 (-F ':')来改变分割符号

                  ③ awk 'BEGIN{count = 0;} {if($NR<6){print }}'

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值