awk - 使用 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
推荐阅读
- javascript - 来自 JS 类的“意外令牌”?
- python - 如何使用一个 if 语句评估多个变量
- google-api - Gmail API 推送通知重复消息 ID
- vue.js - Vue:如何:将不同的处理程序传递给同一组件的 @click 事件?
- idris - Idris 类型不匹配,即使来自模板也会发生
- typescript - VS Code - 获取当前选定的 TreeItem
- reactjs - 如何将组件属性访问到另一个组件文件中
- r - 在 R 中复制模拟和 For 循环
- python - 学校项目:通过http请求通过python上传/下载文件到localhost(上传的文件是可见的)
- spring - 可分页页面大小大于 2000?抛出异常