s-sed替换或者修改文件指定行,同时匹配多个字符串,替换换行符为指定字符
最近需要在腳本中修改幾個配置文件參數且不能影響其他參數,于是想到了sed的強大之處,拿來學學
-
-i參數表示直接替換并修改文件 -i參數時直接修改文件
sed -i 's/aaa/bbb/g' testfile將testfile文件中的aaa替換為bbb字符串
-
刪除文件指定行或者某行內容
sed -i '/aaa/d' testfile刪除包含aaa字符串的行 -
或 匹配刪除(還可以插入,方式一樣)
sed -i '/aaa\|bbb/d' testfile刪除包含aaa或者bbb字符串所在的行 -
且 匹配刪除(還可以插入,匹配方式一樣)
sed -i '/aaa/{/bbb/d} ' testfile刪除包含aaa且bbb字符串所在的行 -
在指定文件內容中上下行添加指定內容
/a為下一行添加,/i為上一行添加sed -i '/ddd/a777' testfile在testfile文件中包含ddd字符串所在的行的上一行添加內容777sed -i '/ddd/i222' testfile在testfile文件中包含ddd字符串所在的行的下一行添加內容為222 -
添加shell中的變量,只需要修改單引號為雙引號即可
sed -i "/aaaa/addd=$a\n$b" testfile在aaaa的下一行增加ddd=(shell中的變量(shell中的變量(shell中的變量a),同時增加換行后再次增加一個變量$b -
去除一行字符串中的部分字符
echo "abaabbb" |sed 's/a//g'將字符串中abaabbb包含a的字符去除 -
替換行末的換行符 為指定的’,’
sed ':a;N;$!ba;s/\n/,/g'[root@node2 ~]# echo -e "1\n2\n3" 1 2 3 [root@node2 ~]# echo -e "1\n2\n3"|sed ':a;N;$!ba;s/\n/,/g' 1,2,3
總結
以上是生活随笔為你收集整理的s-sed替换或者修改文件指定行,同时匹配多个字符串,替换换行符为指定字符的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: r-rpm常用命令集
- 下一篇: 影之刃3极致心法精华怎么获得?