首页 > 解决方案 > 使用 sed 或任何其他命令修改 CSV 文件

问题描述

我正在尝试从 csv 文件中删除空格和制表符。(在 Linux 中通过命令行

sed "s/[[:blank:]]\{1,\}//g" ./TRIM.csv

通过使用上述命令,一列的值/项目之间的空格被删除。

(例如,Hello World正在变成HelloWorld

我也想替换'|' 与'〜'

样本文件:

   0 |         null |               0 |              0 |             0 |             null |  null |
   1 |         Hello World |               0 |              0 |             0 |             null |  null |

期望的输出:

0~null~0~0~0~null~null~
1~Hello World~0~0~0~null~null~

除了'hello world' 之间的空格之外,所有空格都已被删除

标签: awksedremoving-whitespace

解决方案


使用您显示的示例,您能否尝试以下操作。用 GNU 编写和测试awk应该可以在任何awk.

awk -F'[[:blank:]]*\\|[[:blank:]]*' -v OFS="~" '{sub(/^ +/,"");$1=$1}1' Input_file

推荐阅读