用双引号中的第一个字符串替换双引号中的第二个字符串

时间:2020-10-12 07:57:48

标签: awk sed

我有一个要搜索的CSV文件,找到第一个匹配项,然后将第二个匹配项替换为第一个

这是Courses.csv的示例

"Foo","Bar",course foo,Lorem
"Baz","Foo",course bar,Lorem

在上述CSV中,我想用双引号中的第一个字符串

替换双引号中的第二个字符串

手术后,结果应如下

"Foo","Foo",course foo,Lorem
"Baz","Baz",course bar,Lorem

如何最好在bash上实现这一目标?

1 个答案:

答案 0 :(得分:1)

假设您始终希望将第一个字段替换为第二个字段,我敦促您尝试以下操作:

awk 'BEGIN{FS=",";OFS=","}{$2=$1;print $0}' yourfile.csv

或者

awk -v FS="," -v OFS="," '{$2=$1;print $0}' yourfile.csv

这不是就地的:需要更多的努力,但是要旨是