使用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”之间的空格外,所有空格都已删除,该空格是具有空格的列的值。
回答
使用您显示的样本,您能否尝试以下操作。在 GNU 中编写和测试awk应该可以在任何awk.
awk -F'[[:blank:]]*\|[[:blank:]]*' -v OFS="~" '{sub(/^ +/,"");$1=$1}1' Input_file