我正在尝试使用 r (read 命令将 data2 的内容附加到数据。我想在包含“two”的行之后附加内容。我想删除包含“two”的行。
但我撞到了一堵砖墙。感觉就像一个错误,但也许这只是我自己的愚蠢。
好的,这个命令有效。
% sed -r '/two/ r /tmp/data2' < /tmp/data
one
two
five
six
seven
three
four
Run Code Online (Sandbox Code Playgroud)
Sed 似乎对空间有点挑剔......原因不明显,但我会接受它。
% sed -r '/two/ r /tmp/data2 ' < /tmp/data
one
two
three
four
Run Code Online (Sandbox Code Playgroud)
我的目标是在读取命令后运行 (d) 删除以删除原始行。这是我所得到的。
% sed -r '/two/{ r /tmp/data2}' < /tmp/data
sed: -e expression #1, char 0: unmatched `{'
Run Code Online (Sandbox Code Playgroud)
我很确定 '{' 正在匹配,它不是世界上最长的命令。
我真正想跑的...
% sed -r '/two/{ r /tmp/data2; d }' < /tmp/data
Run Code Online (Sandbox Code Playgroud)
系统是 Ubuntu 12. GNU SED。