Awk一行将最后一个字段复制到行的每个成员

Awk一行将最后一个字段复制到行的每个成员,awk,sed,Awk,Sed,正在查找用于格式化此格式文件中某些文本的awk one liner,其中字段数和行数是任意的: abcd,abce,test1 bbcd,bbee,bbvc,test2 ccdd,ccbb,ccbd,ccab,testxyz 其中,输出是将每行中的最后一个字段追加到该行中的每个字段的位置: abcd,test1 abce,test1 bbcd,test2 bbee,test2 bbvc,test2 ccdd,testxyz ccbb,testxyz ccbd,testxyz ccab,test

正在查找用于格式化此格式文件中某些文本的awk one liner,其中字段数和行数是任意的:

abcd,abce,test1
bbcd,bbee,bbvc,test2
ccdd,ccbb,ccbd,ccab,testxyz
其中,输出是将每行中的最后一个字段追加到该行中的每个字段的位置:

abcd,test1
abce,test1
bbcd,test2
bbee,test2
bbvc,test2
ccdd,testxyz
ccbb,testxyz
ccbd,testxyz
ccab,testxyz

假设所有行至少有2个字段:

awk -F, '{OFS=","; for(i=1;i<NF;i++) print $i,$NF}' file

awk-F,'{OFS=“,”,for(i=1;i假设所有行至少有2个字段:

awk -F, '{OFS=","; for(i=1;i<NF;i++) print $i,$NF}' file
awk-F,'{OFS=“,”,for(i=1;i这可能适合您(GNU-sed):

如果该行包含2个或多个逗号,请将第一个逗号替换为逗号、最后一个字段和换行符,打印第一行,删除第一行并重复。

这可能适用于您(GNU-sed):

如果该行包含2个或多个逗号,请将第一个逗号替换为逗号、最后一个字段和换行符,打印第一行,删除第一行,然后重复

sed -r 's/,(.*(,[^,]*))$/\2\n\1/;P;D' file