如果我有一个像

1050505,Some Customer,  1  ,  1  ,Some Order, 5  ,  6  Item
1050505,Some Customer,  1  ,  1  ,Some Order, 5  ,  6  Item
1050505,Some Customer,  1  ,  1  ,Some Order, 5  ,  6  Item
1050505,Some Customer,  1  ,  1  ,Some Order, 5  ,  6  Item
1050505,Some Customer,  1  ,  1  ,Some Order, 5  ,  6  Item

但是我需要去除空格,除非它们在单词之间(即在逗号之后或之前去除空格)。
1050505,Some Customer,1,1,Some Order,5,6  Item

通过标准命令行执行此操作的最简单方法是什么?

最佳答案

您可以使用几个工具来完成此操作。 Perl:

perl -pe 's/\s*,\s*/,/g;' file.txt

sed:
sed 's/,\s\+/,/g; s/\s\+,/,/g' < file.txt

awk:
awk '{gsub(", +", ",", $0); gsub(" +,", ",", $0); print $0}' file.txt

关于linux - 使用命令行删除逗号之间的空格,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21553402/

10-13 06:39