Last updated 2 years ago
Was this helpful?
我一直以为,用^和$来代表行首和行尾,用sed可以很容易实现替换行首和行尾,但是没有想到还有一个&符号(可能还是需要根据sed版本, gsed (GNU sed) 4.8 我验证加不加 & 都一样),实际方法如下:
^
$
sed
&
gsed (GNU sed) 4.8
sed -i 's/^/HEAD&/g' test.file sed -i 's/$/&TAIL/g' test.file
-i参数直接修改原文件g表示每行出现的匹配字符全部替换,否则就只替换每行的第一个匹配字符
-i参数直接修改原文件
-i
g表示每行出现的匹配字符全部替换,否则就只替换每行的第一个匹配字符
g
上述命令在每一行的前面添加 HEAD ,以及在每一行的末尾添加 TAIL 。例如,对于 test.file ,原先内容是:
HEAD
TAIL
test.file
abcd ab cd
执行以后内容修改为
HEADabcdTAIL HEADab cdTAIL
上述两条命令可以结合成一起使用
sed '/./{s/^/HEAD&/;s/$/&TAIL/}' test.file