【发布时间】:2019-07-22 13:40:23
【问题描述】:
我有一个包含两行重复出现的文件。
line1
line2
line1
line2
line1
line2
我想合并它们,使输出文件看起来像:
line1 line2
line1 line2
line1 line2
很遗憾,我没有成功。 在记事本++中,我可以执行以下操作:
search: (line1)(\r\n)
replace: \1
在这里我也想做同样的事情,但是这个:
sed -E 's/(line1)(\n)/\1/' my_file
没用
【问题讨论】:
-
您需要 sed 中的
N命令来执行此操作:sed '{N;s/line1\n/line1/;}请参阅 stackoverflow.com/questions/7852132/sed-join-lines-together -
sed -Ez 's/(line1)\r?\n/\1/' my_file可能对你有用(使用 GNU sed) -
@WiktorStribiżew 不幸的是它没有。
-
或
sed 'N;s/line1[[:space:]]*/line1 /' my_file也可以从 line2 中删除多余的前导空格。