现有原文件为:
cat 1.txt
2
需要实现效果如下:
1
2
3
方法1:使用sed -e执行2次,匹配行 i前面加一行,a为后面加一行;
# cat 1.txt |sed -e ‘/^/i1‘ -e ‘/$/a3‘ 1 2 3
方法2:sed替换,执行2次替换动作,^代表文本里的整行内容;加不加{ }都可以实现结果;
# cat 1.txt |sed ‘s#^#1\n#;s#$#\n3#‘ 1 2 3 # cat 1.txt |sed ‘{s#^#1\n#;s#$#\n3#}‘ 1 2 3
如果文本有多行内容,则结果为在每一行的前后都会添加;如下:
# cat 1.txt aa bb # cat 1.txt |sed ‘{s#^#1\n#;s#$#\n3#}‘ 1 aa 3 1 bb 3
如果实现在文本的最前和最后都添加内容,使用文本添加方法,如下:
# cat 1.txt aa bb cc # sed -e ‘1 i1‘ -e ‘$ a3‘ 1.txt 1 aa bb cc 3
本文出自 “模范生的学习博客” 博客,请务必保留此出处http://mofansheng.blog.51cto.com/8792265/1725783
原文:http://mofansheng.blog.51cto.com/8792265/1725783