sed例項(持續更新)

2021-09-21 04:12:11 字數 3938 閱讀 4642

1、在最後一行加:

1

sed-i'$a\defaults logfile=/var/log/sudo.log'/etc/sudoers

2、替換字元:

3、在匹配行下方幾行開始加:

1

2

3

4

5

sed-i -e'/location ~ \/\\.ht/'/usr/local/***/config/nginx/vhost/default.conf

sed-i -e'/location ~ \/\\.ht/'/usr/local/***/config/nginx/vhost/default.conf

sed-i -e'/location ~ \/\\.ht/'/usr/local/***/config/nginx/vhost/default.conf

sed-i -e'/location ~ \/\\.ht/'/usr/local/***/config/nginx/vhost/default.conf

sed-i -e'/location ~ \/\\.ht/|}'/usr/local/***/config/nginx/vhost/default.conf

4、刪除匹配性開頭的行:

1

sed-i'/^defaults logfile=\/var\/log\/sudo.log.*/d'/etc/sudoers

5、刪除匹配行,並且刪除前一行,後三行:

1

sed-i'/location \/nginx-status/,+3d;:go;1,1!;n;bgo'/usr/local/***/config/nginx/vhost/default.conf

6、利用字串匹配取區間

12

3

4

5

6

本題可以取以"device"開頭以"}"結尾,然後將裡面的符合要求的字串過濾計數就可以了。

取區間的方法:

sed-n'/^device/,/\}$/p'oldboy.log

awk'/device: /'oldboy.log

sed-n'/區間開始標識/,/區間結束標識/p'oldboy.log

7、從多少行到多少行

1

sed-n'16214,24400p'default.err >mysqlerr.log

8、將\n換行符替換成空格(sed高階應用很重要)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

[root@localhost ~]# chkconfig --list | grep xyz| awk '' | sed 's/\/n/ /g'

xyz_apache

xyz_clamd

xyz_ctasd_in

xyz_ctasd_out

xyz_dovecot

xyz_dspam

xyz_mysqld

xyz_nginx

xyz_openldap

xyz_postfix

xyz_postgresql

xyz_postgrey

xyz_redis

xyz_spamassassin

方法1:

[root@localhost ~]# chkconfig --list | grep umail| awk '' | sed ':a;n;s/\n/ /g;ta'

方法2:

[root@localhost ~]# chkconfig --list | grep umail| awk '' | tr "\n" " "

命令擴充套件:

[root@localhost~]# for i in `chkconfig --list | grep xyz| awk '' | sed ':a;n;s/\n/ /g;ta'`; do /etc/init.d/$i status; done

Docker 啟動例項記錄(持續更新)

這裡記錄一些常用的元件的image啟動命令 run 引數加上 d可以後台啟動容器,否則是在前台執行,前台執行方便日誌檢視 link引數後面的規則是容器名稱 host名,設定之後,該容器就能連上 link 後面指定的容器了,host名可以自己起乙個,在新起的這個容器裡,host名就指向連上的容器的內網...

sed常用例項

把檔案中還有 today 字串的資料行中的 tom 字串替換成 john sed e today s tom john g input.dat把檔案中第三行 的資料替換成句子 young is better sed e 5c young is better input.dat把檔案中第3至10行的資...

sed命令例項

刪除 d命令 sed 2d example 刪除example檔案的第二行。sed 2,d example 刪除example檔案的第二行到末尾所有行。sed d example 刪除example檔案的最後一行。sed test d example 刪除example檔案所有包含test的行。替換...