如果我有像
这样的文件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
通过标准命令行执行此操作的最简单方法是什么?
答案 0 :(得分:2)
您可以使用几种工具执行此操作。的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
答案 1 :(得分:0)
perl -pi -e 's/[\s]+,/,/g;s/,[\s]+/,/g' your_file
答案 2 :(得分:0)
一个简单的sed
命令就可以了:
sed -i 's/,[ ]*/,/g' /path/to/file