【发布时间】:2020-01-06 22:26:08
【问题描述】:
我有一个包含以下行的文件
123
456
123
789
abc
efg
xyz
我需要使用abc 进行搜索,并用111 替换正上方的123。这是要求,abc 在文件中仅出现一次,但123 可以多次出现,123 可以在abc 上方的任何位置。
请帮帮我。
我已尝试使用以下 sed 命令
sed -i.bak "/abc/!{x;1!p;d;};x;s/123/1111" filename
使用上面的命令,它只是替换123,如果123刚好在abc之上,如果123在abc之上2行,那么替换失败。
【问题讨论】: