我有一个要搜索的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上实现这一目标?
答案 0 :(得分:1)
假设您始终希望将第一个字段替换为第二个字段,我敦促您尝试以下操作:
awk 'BEGIN{FS=",";OFS=","}{$2=$1;print $0}' yourfile.csv
或者
awk -v FS="," -v OFS="," '{$2=$1;print $0}' yourfile.csv
这不是就地的:需要更多的努力,但是要旨是