linux——sed 流编辑器
sed 對字符的處理
p 模式——顯示
d 模式——刪除
a 模式——添加
c 模式——替換
w 模式——寫入
i 模式——插入
p 模式
sed -n '/^#/p' fstab 顯示以 # 號開頭的行
sed -n '/^#/!p' fstab 顯示不以 # 號開頭的行
sed -n '/0$/!p' fstab 顯示不以 0 結尾的行
cat -n fstab | sed -n '2,6p'顯示 2-6 行
cat -n fstab | sed -n -e '2p' -e '6p'與cat -n fstab | sed -n -e '2p;6p'
顯示第2、第6行
cat -n fstab | sed -n -e '2!p'顯示除了第2行的其他行
cat -n fstab | sed -n -e '2,6!p'不顯示 2-6 行
cat -n fstab | sed -ne '2!p;6!p' | uniq -d顯示除了第2、第6行的其他行
d 模式
cat -n fstab | sed -e '2d;6d'刪除第2、第6行后再顯示
cat -n fstab | sed -e '2,6d'刪除第 2-6 行后再顯示
sed -e '/^#/d' fstab刪除以 # 號開頭的行后再顯示
sed -e '/^$/d' fstab刪除空行后再顯示
sed -e '/^$/d;/^#/d' fstab刪除空行和以 # 號開頭的行后再顯示
sed -e '/UUID/!d' fstab< == >sed -e '/^UUID/!d' fstab
除了含有 UUID 的行(以UUID開頭的行)不刪除,其余的刪除后再顯示
sed -e '/UUID/d' fstab刪除含有 UUID 的行后再顯示
a 模式
sed '/hello/aworld' westos添加 world 到文件 westos(默認添加到最后行)
sed 's/hello/hello world/g' westos全局替換,將 hello 替換成 hello world
sed '/hello/a\world' westos等價于sed '/hello/aworld' westos
sed '/hello/aworld westos' westos添加 hello world 到文件 westos
sed '/hello/aworld\nwestos' westos
添加 world westos 到文件 westos ,world 后有換行符,所以 westos 換行顯示
sed '/hello/aworld\n westos' westos
world 后有換行符且有一空格,所以 westos 換行并空格顯示
c 模式
sed '/hello/chello world' westos將文件 westos 中的 hello 替換成 hello world
sed '/hello/ci\nlike\nyou' westos將文件 westos 中的 hello 替換成 i like you 并換行顯示
w 模式
sed -n '/bash$/p' passwd > file等價與sed -n '/bash$/wfile1' passwd
此處只為看效果,用 file 和 file1 演示
sed '/hello/=' westos
sed '/hello/=' -i westos
參數 -i :直接修改讀取的文件內容,而不是輸出到終端。
演示將內容一行顯示
sed '6r westos' fstab
在文件 fstab 的第6行后添加上文件 westos 的內容后顯示
sed '$r westos' fstab
在文件 fstab 的最后一行后添加上文件 westos 的內容后顯示
sed '1r westos' fstab在文件 fstab 的第1行后添加上文件 westos 的內容后顯示
sed -n '/^UUID/=' fstab
sed '/^UUID/=' fstab
- sed 的其他用法
此處只演示sed -f filename1 filename2,其余可自己測試
- sed 的其他用法
總結
以上是生活随笔為你收集整理的linux——sed 流编辑器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux——grep 文本过滤器
- 下一篇: linux——awk 报告生成器