我有一个这种格式的特殊文件:
title1
_1 texthere
title2
_2 texthere
我希望将所有以“_”开头的换行符放置为之前行的第二列
我尝试使用 sed 和以下命令来做到这一点:
sed 's/_\n/ /g' filename
但它没有给我我想做的事(基本上什么也不做)
谁能指出我正确的做法?
Thanks
尝试以下解决方案:
In sed循环完成创建标签(:a
),虽然不匹配最后一行($!
) 追加下一个 (N
)并返回标签a
:
:a
$! {
N
b a
}
之后我们将整个文件放入内存中,因此对每个文件进行全局替换_
前面有一个换行符:
s/\n_/ _/g
p
全部加起来就是:
sed -ne ':a ; $! { N ; ba }; s/\n_/ _/g ; p' infile
得出:
title1 _1 texthere
title2 _2 texthere
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)