sed 刪除文本中的內容


刪除命令對照表

 

練習例子

刪除/etc/passwd中的第15行

sed -i '1d' passwd

  

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

sed -i '8,14d' passwd

  

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

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

  

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

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

  

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

# 這個表達式會刪除第一個 /sbin/nologin 到 第13行,然后再重新開始再次刪除,循環。。。,不建議使用
sed -i '/\/sbin\/nologin/,13d' passwd 

  

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

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

  

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

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

  

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

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

  

典型需求:

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

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

 

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

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

  

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

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

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

  

 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM