Bash 替换文件中的空格,而不更改字段中的空格
我有一个CSV文件,上面有这样的行Bash 替换文件中的空格,而不更改字段中的空格,bash,shell,awk,sed,whitespace,Bash,Shell,Awk,Sed,Whitespace,我有一个CSV文件,上面有这样的行 5213 , 1395429467 , A , r7.sn-a8au-hp5e.gvt1.com , 4.31.38.18 , 1460706280 , John Doe 我知道如何替换文件中的空格::%s///g。它会更改包含空格的整个文件 我想要最后一个元素$7来保持它的空格,所以John Doe必须继续做John Doe而不是John Doe 总的来说,预期的产出是: 5213,1395429467,A,r7.sn-a8au-hp5e.gvt1.com
5213 , 1395429467 , A , r7.sn-a8au-hp5e.gvt1.com , 4.31.38.18 , 1460706280 , John Doe
我知道如何替换文件中的空格::%s///g。它会更改包含空格的整个文件
我想要最后一个元素$7来保持它的空格,所以John Doe必须继续做John Doe而不是John Doe
总的来说,预期的产出是:
5213,1395429467,A,r7.sn-a8au-hp5e.gvt1.com,4.31.38.18,1460706280,John Doe
有人能帮我实现这一点吗?您可能只需要将每个,即空格+逗号+空格替换为单个,: 其中包括:
5213,1395429467,A,r7.sn-a8au-hp5e.gvt1.com,4.31.38.18,1460706280,John Doe
您可能只需要将每个,即空格+逗号+空格替换为一个,: 其中包括:
5213,1395429467,A,r7.sn-a8au-hp5e.gvt1.com,4.31.38.18,1460706280,John Doe
我不明白。你只是删除了逗号旁边的空格吗?@Bernhard对我来说,OP的意思是空格。我只是编辑来反映这点。@Bernhard是的,没错,伙计。我不明白。你只是删除了逗号旁边的空格吗?@Bernhard对我来说,OP的意思是空格。我只是编辑了一下以反映这一点。@Bernhard是的,没错,伙计。哦是的,愚蠢的大脑总是不能及时工作。无论如何谢谢。哦,是的,愚蠢的大脑总是不能及时工作。无论如何,谢谢你。