我有一个file.txt
看起来像这样:
foo
bar
foo
bar
我希望它看起来像:
foobar
foobar
foo
bar
始终是“主要”行和“次要”行的开头。
我最接近的一次是这样的:
sed -n '1{h;n;G};p' file.txt
但是此命令只是改变了顺序,所以我得到的不是所需的输出,而是:
bar
foo
foo
bar
任何想法?
答案1
以下适用于您的示例:
sed -n '/foo/{N;s/\n//p}'
这将找到foo
,读取下一行,然后删除它们之间的换行符。
根据您的具体情况,您可能希望使用以下方式来锚定匹配:
sed -n '/^foo$/{N;s/\n//p}'.
一些高级功能sed
可能相当令人望而生畏,但这是一个很好的参考。