linux常用命令之 sed grep awk

sed经常用法:
1、替换和修改
sed -n 's/item/pre_item &/p' quot.txt
原内容:have a item
执行后:have a pre_item item
2、从文本读文件附加到令以文本后
 sed '/Miss./r tmp.txt' quote.txt
将文本quote.txt中Miss所在行后附加tmp.txt内容。
3、处理控制符
sed 's/##*//g' file.txt      //去除##
sed 's/^0*//g' file.txt      //去除行首为0
sed 's/^M//g' file.txt       //去除控制符
cat file.txt | sed 's/##*//g | s/^0*//g | s/^M//g   //一起处理
sed 's/^[0-9]//g' file.txt   //去除行首数
4、显示行
sed '2p' quote.txt  //显示所有行,随后显示第二行
sed -n '2p' quote.txt //仅显示第二行
sed -n '1,3p' quote.txt //打印1-3行
sed -n '/Find/'p quote.txt  //打印匹配Find行
sed -n '$p' quote.txt       //打印最后一行
sed -n '1,$p' quote.txt    //打印所有行,
sed -n '/.*ing/'p quote.txt  //任意匹配字符
sed -n '/find/=' quot.txt  //打印行号
sed -n -e '/find/=' quot.txt //打印行号和文本
5、删除文本
sed '1d' quote.txt   //删除第一行

awk命令
awk -F:'commands' input file
1、抽取所有域,$0表示所有域,$1第一域

awk 'print $0' quote.txt 

2、输出到文件中

awk '{print $0}' quote.txt | tee file.txt  

3、追加信息在头
awk 'BEGIN {print "Name belt\n......"} {print $1"\t"$4}' quot.txt
4、追加信息尾

awk 'BEGIN {print "Name \n..."} {print $1} END {print "end-of"}' quote.txt

5、查找匹配字符并输出所有字符中含name的行

awk '{if($0~/name/) print $0}' quote.txt  

6、 精确匹配

awk '$2=="name" {print $0}' quote.txt 

7、输出不匹配行

awk '$0 !~/name/' quote.txt     

8、小于等于          

awk '{if($2<=$3) print $1}' quote.txt      

9、大小写

awk '/[Aa]sk/' quot.txt                  

10、 ^..表示首三个字母

awk '$1 ~/^..a/' quot.txt                

11、 或关系匹配

awk '$1~/(ask|bid)/' quote.txt          

12、输出记录数,内置

awk '{print NR}' quote.txt  
NR:文件记录数
NF:记录域个数
OFS:输出域分隔符
awk '{name=$1 }' quot.txt                 //设置输出到变量中


grep用法

1、行匹配,输出有几行数

grep -c "name" quote.txt          

2、 输出行号+行内容

grep -n "name" quote.txt   

3、输出行内容

grep "name" quot.txt           

4、输出非匹配行

grep -v "name" quot.txt           

5、 精确匹配

grep "name\>" quot.txt   

6、 忽略大小写         

grep -i "name" quot.txt          

7、抽取name或者namb

grep 'nam[ab]' quot.txt         

8、 表示行首不是na的行

grep '^[^na]' quot.txt        

9、 不分大小写,并包含a的

grep ’[nN]ame' quot.txt | grep a 

10、 匹配任意字符

grep '[a-z]..c' quot.txt          

11、 包含数字4,至少出现2次

grep '4\{2,\}' quot.txt            

12、 与或

grep -E 'a|b' quot.txt            

13、 特殊字符钱加\

grep '\.' quot.txt                

14、查询进程name

ps ax|grep "name"                  


打印行号  awk '{print NR":"$0}'


                     打印偶数行、奇数行

 (1)  awk '{print $0 > NR%2}'  file


 (2)  sed -n '1~2p'  file   

          sed -n '2~2p' file


 (3)   sed -n 'p;n'  file

       sed -n 'n;p'  file







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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值