sed 刪除文本中的內容

sed 刪除文本中的內容

刪除命令對照表

 

練習例子

刪除/etc/passwd中的第15行

1

sed -i '1d' passwd

  

刪除/etc/passwd中的8行到14行的所有內容

1

sed -i '8,14d' passwd

  

刪除/etc/passwd中的不能登錄的用戶(篩選條件:/sbin/nologin)

1

sed -i '/\/sbin\/nologin/d' passwd

  

刪除/etc/passwd中以mail開頭的行,到以ftp開頭行的所有內容

1

sed -i '/^mail/,/^ftp/d' passwd

  

刪除/etc/passwd中第一個不能登錄的用戶 到 第13行的所有內容

1

2

# 這個表達式會刪除第一個 /sbin/nologin 到 第13行,然後再重新開始再次刪除,循環。。。,不建議使用

sed -i '/\/sbin\/nologin/,13d' passwd

  

刪除/etc/passwd中第5行到以ftp開頭的所有行的內容

1

sed -i '5,/^ftp/d' passwd

  

刪除/etc/passwd中以nobody開頭的行到最後行的所有內容

1

sed -i '5,/^ftp/d' passwd

  

刪除/etc/passwd中以nobody開頭的行到最後行的所有內容

1

sed -i '/^nobody/,$d' passwd

  

典型需求:

刪除nginx.conf文件中註釋行和空行

1

sed -i '/^#/d;/^$/d' nginx.conf

 

刪除一個或多個空格加 # 號的行

1

sed -i '/[:blank:]*#/d' nginx.conf

  

在配置文件中所有不以#開頭的行前面添加*符號,注意:以#開頭的行不添加

^[^#] 對以#號開頭的行取反就是非#開頭的行,& 是反向引用代表前面的行,然後加*

1

sed -i 's/^[^#]/*&/g' nginx.conf

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章