我的数据文件应该是由400个制表符分隔的行,末尾是行尾。不幸的是,许多行上出现了一些随机的eols。
我很感激有关如何处理文件以删除随机eols的提示(但在每行的末尾留下'真实'eol。
非常感谢!
答案 0 :(得分:0)
你可以使用类似tr之类的东西来做你想做的事,例如:
[root@C1100-05 dmc]# echo -e "\na\nbcd"
a
bcd
[root@C1100-05 dmc]# echo -e "\na\nbcd" | tr -d '\n'
abcd[root@C1100-05 dmc]#
然后您需要做的就是添加行末尾的\ n,以便EOL位于正确的位置
答案 1 :(得分:0)
您可以使用grep执行此操作,但您必须完成一些工作才能将TAB字符添加到其中。我刚刚做的是创建一个如下所示的模式文件:
\([^ ]* \)\{3,\}
那些大的空白区域是实际的标签(我使用emacs并做了一个(光标位置)以确保)。
此特定模式查找3个或更多字段,其中“字段”为“零个或多个非制表符号后跟制表符分隔符”。你实际上想要坏线,所以反过来grep:
grep -vf <patternfile> <datafile>
现在迭代这些行并对每个行应用tr -d '\n'
。使用 new 换行符回显结果,您就完成了。 (我将这完全放在一个脚本中,但我有时间限制,但我不知道你的文件是什么样的。)