我需要转换(预处理)一个CSV文件,通过生成/插入一个新列,并将现有列的内容合并为新列。
例如,将以下内容进行转换:
A|B|C|D|E
into:
A|B|C|D|C > D|E
在这个例子中,我使用了:
cat myfile.csv | awk 'BEGIN{FS=OFS="|"} {$4 = $4 OFS $3" > "$4} 1'
现在我需要完成更复杂的任务,但是不知道该怎么做。
我需要进行转换:
A|B|C|x,y,z|E
转换为
A|B|C|x,y,z|C > x,C > y,C > z|E
如何以高效的方式在awk(或其他命令)中完成此操作(我的CSV文件可能包含数千行)?
谢谢。
&
或\\1
,请确保使用任何使用*sub()函数的解决方案来测试它们。 - Ed Morton