刪除命令對照表

練習例子
刪除/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
