从txt文件中删除特定的空格

时间:2019-07-28 11:03:46

标签: shell sed

我有一个大的txt文件,其中包含两列,这两列之间有很多空白:

123467,       And the second part here

要删除我使用的列之间的空白

sed -e "s/ /,/g" < a.txt

但是它也删除了第二列中单词之间的空格

And the second part here

如何在不影响第二列中的单词的情况下仅删除列之间的空格?

3 个答案:

答案 0 :(得分:2)

您可以这样做:

sed -E -e 's@, +@,@'

这将删除,之后的空格。您也不应该使用g,因为它将尝试匹配该行中的所有模式。

答案 1 :(得分:1)

$ sed 's/  *//' file
123467,And the second part here

答案 2 :(得分:0)

由于您认为文件是由逗号分隔的列,因此使用一种工具将输入视为由逗号分隔的列是有意义的:

awk '$1=$1' OFS=, FS=', *' input