文本处理工具

1、grep命令

-i ##忽略大小写

-n ##显示结果所在行的行号

-c ##结果个数

-v ##反向过滤

-r 关键字 目录 ##在目录中过滤含有关键字的文件

-E “关键字1|关键字2|...” ##过滤多个关键字

 

 

 

 

 

[root@localhost ~]# cp /etc/passwd .

[root@localhost ~]# ls

file  filegreat  file.new  file.orig  passwd

[root@localhost ~]# echo "ROOT" >>passwd

[root@localhost ~]# grep root passwd

root:x:0:0:root:/root:/bin/bash

operator:x:11:0:operator:/root:/sbin/nologin

[root@localhost ~]# grep -n  root passwd

1:root:x:0:0:root:/root:/bin/bash

10:operator:x:11:0:operator:/root:/sbin/nologin

[root@localhost ~]#grep -in  root passwd

1:root:x:0:0:root:/root:/bin/bash

10:operator:x:11:0:operator:/root:/sbin/nologin

41:ROOT

[root@localhost ~]# grep -iv root passwd

 

[root@localhost ~]# grep -ic root passwd

 

2、sort

-n ##纯数字排序

-r ##倒序

-u ##去掉重复行

-t ##指定分隔符

-k ##指定排序的列

 

3、uniq ##处理重复行

-c ##统计重复行行数

-u ##显示唯一的行

-d ##显示重复行

 

4、tr   tr 'A-Z' 'a-z' <file   将大写换成小写。将小写换乘大写

 

 

5、sed ##控制流输出

sed 's/nologin/hello/g' passwd ##替换输出中的A为B

sed '1,5s/nologin/westos/g' passwd ##替换输出中的1-5行的A为B

sed '/halt/,/shutdown/s/nologin/westos/g' passwd ##替换输出中x字符到y字符之间的nologin改为westos

##多条替换策略用-e连接

##不显示文件中的第三行

##不显示文件中的3-7行

##重复显示文件中的3-7行

##只显示文件中的3-7行

##使用规则文件修改输出

 

[root@localhost ~]#sed 's/nologin/hello/g' passwd

[root@localhost ~]# sed '1,5s/nologin/westos/g' passwd

[root@localhost ~]#sed '/halt/,/shutdown/s/nologin/westos/g' passwd

     1 root:x:0:0:root:/root:/bin/bash

     2 bin:x:1:1:bin:/bin:/sbin/nologin

     3 daemon:x:2:2:daemon:/sbin:/sbin/nologin

     4 adm:x:3:4:adm:/var/adm:/sbin/nologin

     5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

     6 sync:x:5:0:sync:/sbin:/bin/sync

     7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

     8 halt:x:7:0:halt:/sbin:/sbin/halt

     9 mail:x:8:12:mail:/var/spool/mail:/sbin/westos

    10 sync:x:5:0:sync:/sbin:/bin/sync

    11 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

[root@localhost ~]#sed -e 's/nologin/hello/g' -e 's/sbin/good' passwd

[root@localhost ~]# char 11: unterminated `s' command

[root@localhost ~]# sed -e 's/nologin/hello/g' -e 's/sbin/good/g' passwd

     1 root:x:0:0:root:/root:/bin/bash

     2 bin:x:1:1:bin:/bin:/good/hello

     3 daemon:x:2:2:daemon:/good:/good/hello

     4 adm:x:3:4:adm:/var/adm:/good/hello

     5 lp:x:4:7:lp:/var/spool/lpd:/good/hello

     6 sync:x:5:0:sync:/good:/bin/sync

     7 shutdown:x:6:0:shutdown:/good:/good/shutdown

     8 halt:x:7:0:halt:/good:/good/halt

     9 mail:x:8:12:mail:/var/spool/mail:/good/hello

    10 sync:x:5:0:sync:/good:/bin/sync

    11 shutdown:x:6:0:shutdown:/good:/good/shutdown

[root@localhost ~]# sed 3d passwd

     1 root:x:0:0:root:/root:/bin/bash

     2 bin:x:1:1:bin:/bin:/sbin/nologin

     4 adm:x:3:4:adm:/var/adm:/sbin/nologin

     5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

     6 sync:x:5:0:sync:/sbin:/bin/sync

     7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

     8 halt:x:7:0:halt:/sbin:/sbin/halt

     9 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

    10 sync:x:5:0:sync:/sbin:/bin/sync

    11 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

[root@localhost ~]# sed 3,7d passwd

     1 root:x:0:0:root:/root:/bin/bash

     2 bin:x:1:1:bin:/bin:/sbin/nologin

     8 halt:x:7:0:halt:/sbin:/sbin/halt

     9 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

    10 sync:x:5:0:sync:/sbin:/bin/sync

    11 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

[root@localhost ~]# sed 3,7p passwd

     1 root:x:0:0:root:/root:/bin/bash

     2 bin:x:1:1:bin:/bin:/sbin/nologin

     3 daemon:x:2:2:daemon:/sbin:/sbin/nologin

     3 daemon:x:2:2:daemon:/sbin:/sbin/nologin

     4 adm:x:3:4:adm:/var/adm:/sbin/nologin

     4 adm:x:3:4:adm:/var/adm:/sbin/nologin

     5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

     5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

     6 sync:x:5:0:sync:/sbin:/bin/sync

     6 sync:x:5:0:sync:/sbin:/bin/sync

     7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

     7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

     8 halt:x:7:0:halt:/sbin:/sbin/halt

     9 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

    10 sync:x:5:0:sync:/sbin:/bin/sync

    11 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

[root@localhost ~]# sed -n 3,7p file

daemon:x:2:2:daemon:/sbin:/sbin/nologin

adm:x:3:4:adm:/var/adm:/sbin/nologin

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

sync:x:5:0:sync:/sbin:/bin/sync

shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

[root@localhost ~]# sed -n 3,7p passwd

     3 daemon:x:2:2:daemon:/sbin:/sbin/nologin

     4 adm:x:3:4:adm:/var/adm:/sbin/nologin

     5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

     6 sync:x:5:0:sync:/sbin:/bin/sync

     7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

[root@localhost ~]# vim rule

[root@localhost ~]# sed -f rule passwd

     1 root user:x:0:0:root user:/root user:/bin/bash

     2 bin:x:1:1:bin:/bin:/sbin/hello

     3 daemon:x:2:2:daemon:/sbin:/sbin/hello

     4 adm:x:3:4:adm:/var/adm:/sbin/hello

     5 lp:x:4:7:lp:/var/spool/lpd:/sbin/hello

     6 sync:x:5:0:sync:/sbin:/bin/sync

     7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

     8 halt:x:7:0:halt:/sbin:/sbin/halt

     9 mail:x:8:12:mail:/var/spool/mail:/sbin/hello

    10 sync:x:5:0:sync:/sbin:/bin/sync

    11 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值