现有原文件为:
cat 1.txt
2
需要实现效果如下:
1
2
3
方法1:使用sed -e执行2次,匹配行 i前面加一行,a为后面加一行;
1
2
3
4
|
# cat 1.txt |sed -e '/^/i1' -e '/$/a3'
1
2
3
|
方法2:sed替换,执行2次替换动作,^代表文本里的整行内容;加不加{ }都可以实现结果;
1
2
3
4
5
6
7
8
|
# cat 1.txt |sed 's#^#1\n#;s#$#\n3#'
1
2
3
# cat 1.txt |sed '{s#^#1\n#;s#$#\n3#}'
1
2
3
|
如果文本有多行内容,则结果为在每一行的前后都会添加;如下:
1
2
3
4
5
6
7
8
9
10
|
# cat 1.txt
aa
bb
# cat 1.txt |sed '{s#^#1\n#;s#$#\n3#}'
1
aa
3
1
bb
3
|
如果实现在文本的最前和最后都添加内容,使用文本添加方法,如下:
1
2
3
4
5
6
7
8
9
10
|
# cat 1.txt
aa
bb
cc
# sed -e '1 i1' -e '$ a3' 1.txt
1
aa
bb
cc
3
|
本文转自 模范生 51CTO博客,原文链接:http://blog.51cto.com/mofansheng/1725783,如需转载请自行联系原作者