linux shell sed命令技巧

本文编写于3636天前,最后编辑于 3636天前,部分内容可能已经过时,请您自行斟酌确认。

1、删除行首空格

sed ‘s/^[ ]*//g’ filename
sed ‘s/^ *//g’ filename
sed ‘s/^[[:space:]]*//g’ filename

2、行后和行前添加新行

行后:sed ‘s/ceagle/&\n/g’ filename
行前:sed ‘s/ceagle/\n&/g’ filename
&代表ceagle

3、使用变量替换(使用双引号)

sed -e “s/$varable1/$varable2/g” filename

4、在第一行前插入文本

sed -i ’1 i\插入字符串’ datafile

5、在最后一行插入

sed -i ‘$ a\插入字符串’ datafile

6、在匹配行前插入

sed -i ‘/pattern/ i “插入字符串”‘ datafile

7、在匹配行后插入

sed -i ‘/pattern/ a “插入字符串”‘ datafile

8、删除文本中空行和空格组成的行以及#号注释的行

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

9、sed -e ’1!G;h;$!d’ file倒过来显示

sed 附加/替换:

sed “/xmdh/a\daoyou” file 把含有xmdh的行的结尾附加daoyou(有换行)

sed ‘s/$/ daoyou/’ file把每行的结尾附加daoyou(在同一行)

sed ‘/test/s/$/ daoyou/’ file把包含test行的结尾附加daoyou(在同一行)

sed ’10s/$/ daoyou/’ file把第10行的结尾附加daoyou(在同一行)

sed “s/xmdh/daoyou/g” file把xmdh替换成daoyou

sed “s/xmdh/daoyou/;G” file把xmdh替换成daoyou并增加一个换行

cat userlog |sed -n ‘/xmdh/ w test.txt’查看含有xmdh并写入test.txt中

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注