2015-07-10 31 views
0

我有一個製表符分隔的文件,其中有幾行內沒有數據,但是在那些空記錄中有選項卡。例如,當我做cat -vet file.csv,輸出當屬刪除製表符分隔文件中的空行

COL1^Icol12^Icol3^Icol4^Icol5^Icol6^Icol7 $
ACB^IBAD^IASO^ICNA^ISOC^Iioe^Ifhn
$ SOC^Iioe^Ifhn^Iacb^IBAD^IASO^IASO $
^ I^I^I^I^I^I^I $
SOC^Iioe^Ifhn^Iacb^IBAD^IASO^IASO $

我正在尋找一個輸出爲

COL1^Icol12^Icol3^Icol4^Icol5^Icol6^Icol7 $〇一二三五〇九五二九九三九二二六八一〇三二一〇 ACB^IBAD^IASO^ICNA^ISOC^Iioe^Ifhn $〇一二三五〇九五二九九三九二二六八一〇三二一〇 SOC^Iioe^Ifhn^Iacb^IBAD^IASO^IASO $〇一二三五〇九五二九九三九二二六八一〇三二一〇 soc^Iioe^Ifhn^Iacb^Ibad^Iaso^Iaso $

在此先感謝。

回答

3

我認爲最簡單的方法可能是使用grep篩選出只含有空格的所有行:

grep -v -e '^[[:space:]]*$' file.csv 
0

您可以編寫一個快速程序,讀取所有行,刪除所有空白,然後將其寫回。這樣你有一個沒有空行的文件。

在C#

var lines = File.ReadAllLines("FilePath").Where(x => x.Trim() != ""); 
File.WriteAllLines("FIlePath",lines); 
0

您可以使用像這樣放棄所有行不到,也就是說,10個字符:

grep -E '^.{10,}$' inp.csv 

根據您的具體情況,你可能需要調整短線丟棄的閾值。

相關問題