我有一个包含许多列的csv文件.我试图用同一个文件中的倒数第二列替换第二列.例如,如果我有一个文件,sample.csv
1,2,3,4,5,6
a,b,c,d,e,f
g,h,i,j,k,l
Run Code Online (Sandbox Code Playgroud)
我想输出:
1,5,3,4,5,6
a,e,c,d,e,f
g,k,i,j,k,l
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮我完成这项任务吗?另请注意,我将使用cut函数丢弃最后两列,因此我打开将csv文件分开以便开始,以便我可以将一个csv文件中的列替换为另一个csv文件中的另一列.哪个更容易实现.在此先感谢您的帮助.
这个简单的awk怎么样:
awk 'BEGIN{FS=OFS=","} {$2=$(NF-1)}'1 sample.csv
Run Code Online (Sandbox Code Playgroud)
编辑:注意到您还想丢弃最后2列.使用这个awk one-liner:
awk 'BEGIN{FS=OFS=","} {$2=$(NF-1); NF=NF-2}'1 sample.csv
Run Code Online (Sandbox Code Playgroud)