我有一个使用 创建的 CSV 文件pull_data $a $b > $id.csv
。
输出中的一行的示例是:
1041894,30/01/2013,31/01/2013,A Customer Limited , 2, 1,PR14, PR14 , 104 An Item ,247 An Item
Run Code Online (Sandbox Code Playgroud)
这是我的条件:
我需要删除逗号之后或之前的所有空格,但排除单词之间的空格。
我需要每一行如下所示,并且如果可能的话希望使用 sed:
1041894,30/01/2013,31/01/2013,A Customer Limited,2,1,PR14,PR14,104 An Item,247 An Item
我已经尝试过了sed 's/, \+\| \+,/,/g'
,但这并没有删除逗号前后的所有空格,它只删除了一些空格。
试试这个 sed:
sed -i.bak -e 's/,[[:space:]]\+/,/g' -e 's/[[:space:]]\+,/,/g' file
Run Code Online (Sandbox Code Playgroud)
或者这个 awk:
awk -F '[[:space:]]*,[[:space:]]*' '{$1=$1}1' OFS=, file
Run Code Online (Sandbox Code Playgroud)
OP 可能有空格而不仅仅是空格:
也试试这个 sed:
sed -i.bak 's/[[:space:]]*,[[:space:]]*/,/g' file
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5738 次 |
最近记录: |