Linux Sed技巧

  1. 删除行首空格

sed 's/^[ ]*//g' filename
sed 's/^*//g' filename
sed 's/^[[:space:]]*//g' filename
  1. 匹配行前或后添加空白行

#行后
sed 's/ceagle/&\n/g' filename
#行前
sed 's/ceagle/\n&/g' filename
#&代表ceagle
  1. 使用变量替换(使用双引号)

sed -e "s/$varable1/$varable2/g" filename
  1. 在第一行前插入文本

sed -i '1 i\插入字符串' datafile
  1. 在最后一行后插入文本

sed -i '$ a\插入字符串' datafile
  1. 在匹配行前插入一行

sed -i '/pattern/ i "插入字符串"'' datafile
  1. 在匹配行后插入一行

sed -i '/pattern/ a "插入字符串"' datafile
  1. 删除文本中空行和空格组成的行以及#号注释的行(用grep -v过滤掉#号注释的行)

grep -v ^# filename | sed /^[[:space:]]*$/d | sed /^$/d
  1. 其它

#file前后倒置
sed -e ‘1!G;h;$!d’ file
#把包含test行的结尾附加daoyou(在同一行)
sed '/test/s/$/ daoyou/' file
#在第10行的末尾添加daoyou
sed '10s/$/ daoyou' 
#替换并增加换行
sed "s/xmdh/daoyou/;G"
posted @ 2017-02-15 11:54  我的娃会叫爸爸啦  阅读(300)  评论(0编辑  收藏  举报