寻找一个awk one liner,用于格式化此格式文件中的某些文本,其中字段数和行数是任意的:
abcd,abce,test1
bbcd,bbee,bbvc,test2
ccdd,ccbb,ccbd,ccab,testxyz
其中output是每行中最后一个字段附加到行中每个字段的位置:
abcd,test1
abce,test1
bbcd,test2
bbee,test2
bbvc,test2
ccdd,testxyz
ccbb,testxyz
ccbd,testxyz
ccab,testxyz
答案 0 :(得分:2)
假设所有行至少有2个字段:
ActiveSheet.PageSetup.PrintArea = "A1:F100"
可以做你期望的事。
如果只有一个字段的行可以打印出来:
awk -F, '{OFS=","; for(i=1;i<NF;i++) print $i,$NF}' file
答案 1 :(得分:0)
这可能适合你(GNU sed):
sed -r 's/,(.*(,[^,]*))$/\2\n\1/;P;D' file
如果该行包含2个或更多逗号,请用逗号,最后一个字段和换行符替换第一个逗号,打印第一行,删除第一行并重复。