我的數據文件應該是在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