我的数据文件应该是在400行的标签行结尾行结尾。不幸的是,许多行上出现了一些随机的EOL。Bash脚本删除偶尔的字符和eols
我会很感激有关如何处理该文件删除随机EOLS(但在每行结束后离开“真正的” EOL提示。
非常感谢!
我的数据文件应该是在400行的标签行结尾行结尾。不幸的是,许多行上出现了一些随机的EOL。Bash脚本删除偶尔的字符和eols
我会很感激有关如何处理该文件删除随机EOLS(但在每行结束后离开“真正的” EOL提示。
非常感谢!
你可以使用像TR做你想要什么,例如:
[[email protected] dmc]# echo -e "\na\nbcd"
a
bcd
[[email protected] dmc]# echo -e "\na\nbcd" | tr -d '\n'
abcd[[email protected] dmc]#
那么所有你需要做的是在\ n在你行的末尾加那么它在正确的位置
的EOL你可以使用grep来做到这一点,但你必须经过一些工作才能将TAB字符加入其中。我所做的只是现在是创造一个看起来像这样的模式文件:
\([^ ]* \)\{3,\}
其中那些大的白色空间是实际的标签(我用emacs的,做了(什么光标位置),以确保)。
此特定模式查找“字段”为“零个或多个非制表符分隔符后跟制表符分隔符”的3个或更多字段。实际上,你想坏线,使扭转的grep:
grep -vf <patternfile> <datafile>
现在遍历这些行并应用tr -d '\n'
每个。用新的换行符回显结果,就完成了。 (我把这个完全放在一个脚本中,但我有时间限制,我不知道你的文件看起来像什么。)
我认为你应该更具体一点; “由400个标签分隔”使得听起来好像每个列之间应该有400个标签:我认为这不是你的意思。每行400个制表符分隔的列,并且一些行错误地缩短了? – unwind 2011-04-19 18:02:58