小编bin*_*.uk的帖子

sed 怪异,无与伦比的 {

我正在尝试使用 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。

sed command-line

11
推荐指数
2
解决办法
6659
查看次数

标签 统计

command-line ×1

sed ×1