我的文件内容 -
abc
def
我想在abc之后添加两行,其前面有空格
我的最终文件内容应为 -
abc
123
def
我正在使用以下命令,但不适合我,请帮助我
sudo sed -i "/abc/a\\\123" file.txt
注意 - 行之间没有空格,我只想在新行之前放置一些空格(即在行123之前)
答案 0 :(得分:4)
您可以使用此sed
:
sed -i '/abc/a\ 123' file
例如:
$ sed '/abc/a\ 123' file
abc
123
def
答案 1 :(得分:0)
以下是awk
解决方案,如果您对awk开放。
示例输入:
cat infile
abc
def
<强>解释强>
如果找到模式abc
,请使用当前行更新当前行,然后使用换行符后跟123
。并且1
会调用awk
的默认打印操作。
注意:使用名为awk
的{{1}}内置变量打印换行符,该变量默认设置为换行符。
ORS
要在orignal文件中进行更改:
awk '/abc/ {$0=$0 ORS " 123" }1' infile
abc
123
def
答案 2 :(得分:0)
只需使用awk清晰度,便携性等:
awk '{print} /abc/{print " 123"}' file