awk - 如何在 csv 文件中替换管道而不是逗号

标签 awk sed grep

我想将 csv 文件从逗号分隔转换为管道 (|)。但在 csv 文件中,有些行也应该有逗号,

我的文件

$ cat a.txt
"a","b","c,test","new","abc"

期望:

a|b|c,test|new|abc

最佳答案

这个sed命令可以做到:

sed 's/","/\|/g; s/"//g' File

将所有 "," 模式替换为 |。这将在两端都有 ",稍后将其删除。

示例:

AMD$ cat File
"a","b","c,test","new","abc"

AMD$ sed 's/","/\|/g; s/"//g' File
a|b|c,test|new|abc

关于awk - 如何在 csv 文件中替换管道而不是逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30590067/

相关文章:

linux - 与 adb shell 一起使用时 xargs 的混淆行为

Bash 不等待管道后的完整结果,而是立即对直接输出采取行动

c - Unix环境高级编程 : Get Configuration Limits Figure 2. 12 "Build C Program to print all supported configuration limits"

linux - 根据映射对字符串进行更改

c++ - sed 删除下划线并提升字符

unix - 我必须更换所有的?在 unix 中使用 X 除了一些有效的?

regex - grep那些包含单引号的匹配行

regex - 用于替换文件中第一次出现的 sed 命令不起作用

linux - AWK脚本打印字段数最多的行

linux - awk - 使用 printf 仅格式化一个输出字段?