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的行。替換...