正则表达式用于删除1个而不是2个换行符

时间:2011-03-04 16:35:53

标签: regex

我有一个主要使用字节x03而不是换行符的ascii数据文件(10+演出)。

因此,我不能使用通用命令行工具(grep,sed等),而无需先通过fold发送文件。

目前我正在这样做,折叠并用2个换行符替换x03:

折叠original.dat | sed's / \ x03 / \ n \ n / g'> withLinebreaks.dat

然而,现在这些线条被额外的换行符分解,使搜索变得困难。

如何删除折叠添加的所有额外换行符? 我需要一些方法来删除单独出现的所有换行符,或者不是行的第一个字节的换行符(即应该保留的所有换行符都在他们自己的行上)

由于

2 个答案:

答案 0 :(得分:1)

我认为这可能只需一步即可完成您的工作:

tr '\3' '\n' < original.dat > withLinebreak.dat

答案 1 :(得分:0)

这个怎么样?

fold original.dat | sed 's/\x03/\n\n/g' | sed 's/\n\n/\n/g' > withLinebreaks.dat