我有一个制表符分隔文件,其中有几行没有数据,但这些空记录中有标签。例如,当我执行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 $
提前致谢。
答案 0 :(得分:3)
我认为最简单的方法可能是使用grep
来过滤掉只包含空格的所有行:
grep -v -e '^[[:space:]]*$' file.csv
答案 1 :(得分:0)
您可以编写一个快速程序,读取所有行,删除任何空白行,然后将其写回。这样你就有了一个没有空行的文件。
在C#中
var lines = File.ReadAllLines("FilePath").Where(x => x.Trim() != "");
File.WriteAllLines("FIlePath",lines);
答案 2 :(得分:0)
你可以使用这样的东西来丢弃少于10个字符的所有行:
grep -E '^.{10,}$' inp.csv
根据您的具体情况,您可能需要调整丢弃的短线阈值。