相关疑难解决方法(0)

仅在逗号分隔的文件中删除引号之间的逗号

我有一个用逗号 ( ,)分隔的输入文件。有一些用双引号括起来的字段中包含逗号。这是示例行

123,"ABC, DEV 23",345,534.202,NAME
Run Code Online (Sandbox Code Playgroud)

我需要删除双引号和双引号内出现的所有逗号。所以上面的行应该被解析为如下所示

123,ABC DEV 23,345,534.202,NAME
Run Code Online (Sandbox Code Playgroud)

我尝试了以下使用sed但没有给出预期的结果。

sed -e 's/\(".*\),\(".*\)/\1 \2/g'
Run Code Online (Sandbox Code Playgroud)

任何快速的运用了sedawk或者任何其他Unix工具吗?

sed awk text-processing csv

25
推荐指数
3
解决办法
7万
查看次数

替换括号之间的文本

awk '{ gsub(/BAR|WIBBLE/, "FOO"); print }'用来替换数据中的文本,如:

SOMETHING [BAR, WIBBLE]
SOMETHING [BAR]
Run Code Online (Sandbox Code Playgroud)

这给出了所需的结果:

SOMETHING [FOO, FOO]
SOMETHING [FOO]
Run Code Online (Sandbox Code Playgroud)

但是现在我不得不更新需要替换的文本,如下所示:

awk '{ gsub(/BAR|WIBBLE|ME/, "FOO"); print }'
Run Code Online (Sandbox Code Playgroud)

这将文本变成:

SOMETHING [ME, WIBBLE]
Run Code Online (Sandbox Code Playgroud)

进入:

SOFOOTHING [FOO, FOO]
Run Code Online (Sandbox Code Playgroud)

如何将我的替换限制为括号之间的文本(即SOMETHING单独保留)?

编辑

我还需要任何文本的稳健性SOMETHING(例如SHE GAVE ME THAT不应该ME被替换)。

sed awk text-processing regular-expression replace

2
推荐指数
1
解决办法
4373
查看次数

标签 统计

awk ×2

sed ×2

text-processing ×2

csv ×1

regular-expression ×1

replace ×1