2018-03-13 Linux學習
阿新 • • 發佈:2018-03-13
Linux 學習 9.4 sed (上)
sed 工具 示例 sed -n ‘5‘p test.txt sed -n ‘1,5‘p test.txt sed -n ‘1,$‘p test.txt sed -n ‘/root/‘p test.txt sed -n ‘/^1/‘p test.txt sed -n ‘in$‘p test.txt sed -n ‘/r..o/‘p test.txt sed -n ‘oo*‘p test.txt sed -e ‘1‘p -e ‘/111/‘p -n test.txt [root@aming-01 sed]# sed -n ‘/root/‘p test.txt root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin [root@aming-01 sed]# sed -nr ‘/o+t/‘p test.txt root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin [root@aming-01 sed]# sed -n ‘2,5‘p test.txt 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 [root@aming-01 sed]# sed -n ‘1,$‘p test.txt [root@aming-01 sed]# sed -n ‘/^s/‘p test.txt sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin [root@aming-01 sed]# sed -e ‘1‘p -e ‘/bus/‘p -n test.txt root:x:0:0:root:/root:/bin/bash dbus:x:81:81:System message bus:/:/sbin/nologin [root@aming-01 sed]# sed -e ‘1‘p -e ‘/bus/‘p -e ‘/lp/‘p -n test.txt root:x:0:0:root:/root:/bin/bash lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin dbus:x:81:81:System message bus:/:/sbin/nologin
9.5 sed (下)
-n 使用安靜(silent)模式。在一般 sed 的用法中,所有來自 STDIN 的數據一般都會被列出到屏幕上。但如果加上 -n 參數後,則只有經過 sed 特殊處理的那一行(或者動作)才會被列出來。 -p 打印 -I 不區分大小寫 -d 刪除 -i 修改文件內容 -r 加 -r 特殊符號不需要加 \ 脫義 s/a/b/g 全部替換 s/a/b/ 替換第一個匹配的 & 代表前面的小括號 sed 示例 sed ‘1‘d test.txt sed ‘1,10‘d test.txt sed ‘/oot/‘d test.txt sed ‘1,2s/ot/to/g‘ test.txt sed ‘s#ot#ss#g‘ test.txt sed ‘s/[0-9]//g‘ test.txt sed ‘s/[a-zA-Z]//g‘ test.txt sed -r ‘s/(rot)(.*)(bash)/\3\2\1/‘ test.txt sed ‘s/^.*$/123&/‘ test.txt sed -i ‘s/ot/ss/g‘ test.txt [root@aming-01 sed]# sed -n ‘/user/‘Ip test.txt ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin polkitd:x:999:997:User for polkitd:/:/sbin/nologin [root@aming-01 sed]# sed ‘1,18‘d test.txt bacula:x:133:133:Bacula Backup System:/var/spool/bacula:/sbin/nologin apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin [root@aming-01 sed]# head -3 test.txt|sed -r ‘s/roo/aaa/‘ aaat:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin [root@aming-01 sed]# head -3 test.txt|sed -r ‘s/roo/aaa/g‘ aaat:x:0:0:aaat:/aaat:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin [root@aming-01 sed]# sed ‘s#ot#ss#g‘ test.txt ross:x:0:0:ross:/ross:/bin/bash [root@aming-01 sed]# sed ‘s/[0-9]//g‘ test.txt root:x:::root:/root:/bin/bash bin:x:::bin:/bin:/sbin/nologin [root@aming-01 sed]# sed ‘s/[a-zA-Z]//g‘ test.txt ::0:0::/:// ::1:1::/:// ::2:2::/:// [root@aming-01 sed]# head -3 test.txt|sed -r ‘s/([^:]+):(.*):([^:]+)/\3!\2!\1/‘ /bin/bash!x:0:0:root:/root!root /sbin/nologin!x:1:1:bin:/bin!bin /sbin/nologin!x:2:2:daemon:/sbin!daemon [root@aming-01 sed]# head -3 test.txt|sed -r ‘s/(.*)/aaa:&/‘ aaa:root:x:0:0:root:/root:/bin/bash aaa:bin:x:1:1:bin:/bin:/sbin/nologin aaa:daemon:x:2:2:daemon:/sbin:/sbin/nologin
2018-03-13 Linux學習