标签:用户 root用户 sed正则 数字 grep -n ash 范围 syn 文件
sed正则sed匹配root字符并打印输出到屏幕显示,-n表示不输出不相关的字符行
[root@localhost tmp]# sed -n ‘/root/‘p passwd
root:x:0:0:root:/root:/bin/bash
[root@localhost tmp]# sed ‘/root/‘p passwd sed输出匹配字符会把对应行输出两次并显示出来
root:x:0:0:root:/root:/bin/bash
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
sed 使用+号匹配多个字符内容,-r表示对特殊字符脱意
[root@localhost tmp]# sed -nr ‘/o+t/‘p passwd
root:x:0:0:root:/root:/bin/bash
sed输出指定的范围几行内容
[root@localhost tmp]# grep -n ‘.*‘ passwd |sed -n ‘2,5‘p
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
sed ^ 匹配以某字符开头的内容
[root@localhost tmp]# sed -n ‘/^s/‘p passwd
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
sed $ 匹配以某字符结尾的内容
[root@localhost tmp]# sed -n ‘/in$/‘p passwd
bin:x:1:1:bin:/bin:/sbin/nologin
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
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
sed -e 多个条件过滤匹配字符
sed -e ‘1‘p -e ‘logoin‘p -n passwd
[root@localhost tmp]# sed -e ‘1‘p -e ‘/logoin/‘p -n passwd
root:x:0:0:root:/root:/bin/bash
sed删除一行内容,第一行是passwd文件里root用户的内容
[root@localhost tmp]# sed -n ‘/in$/‘p passwd
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
sed 删除三行内容,跟上面对比少了两行内容(bin和daemon)
[root@localhost tmp]# sed ‘1,3‘d passwd
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
sed 删除指定匹配的行,对比上面少了root和adm两行
[root@localhost tmp]# sed ‘/root\|adm/‘d passwd
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sed 替换指定字符,将指定字符小写替换成大写,或者指定字符替换为其他字符
[root@localhost tmp]# sed ‘s/root/ROOT/g‘ passwd
ROOT:x:0:0:ROOT:/ROOT:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
[root@localhost tmp]# sed ‘s/root/tttt/g‘ passwd
tttt:x:0:0:tttt:/tttt:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
sed 替换指定字符为空,将内容所有数字删除或者将内容的所有字母删除
[root@localhost tmp]# sed ‘s/[0-9]//g‘ passwd
root:x:::root:/root:/bin/bash
bin:x:::bin:/bin:/sbin/nologin
daemon:x:::daemon:/sbin:/sbin/nologin
[root@localhost tmp]# sed ‘s/[a-zA-Z]//g‘ passwd
::0:0::/://
::1:1::/://
::2:2::/://
::3:4:://://
::4:7::///://
::5:0::/://
文件内容字段互换,([^:]+)表示非冒号的多个字符,以段分割后再重新排序,这里需要仔细揣摩一下
[root@localhost tmp]# sed -r ‘s/([^:]+):(.*):([^:]+)/\3\2\1/‘ passwd
/bin/bashx:0:0:root:/rootroot
/sbin/nologinx:1:1:bin:/binbin
/sbin/nologinx:2:2:daemon:/sbindaemon
/sbin/nologinx:3:4:adm:/var/admadm
sed 再内容前面添加指定格式字符,使用/(.*)/表示内容一行里的所有内容,表达式后的/holle world:&/ 的意思为:<br/>holle world:为新加入字符,&表示/(.*)/的匹配,在所有/(.*)/匹配行的前面添加Holle world: 添加-r不需要使用脱意字符
[root@localhost tmp]# sed -r ‘s/(.*)/holle world:&/‘ passwd
holle world:root:x:0:0:root:/root:/bin/bash
holle world:bin:x:1:1:bin:/bin:/sbin/nologin
holle world:daemon:x:2:2:daemon:/sbin:/sbin/nologin
holle world:adm:x:3:4:adm:/var/adm:/sbin/nologin
标签:用户 root用户 sed正则 数字 grep -n ash 范围 syn 文件
原文地址:http://blog.51cto.com/8844414/2136233