转置 6 列,其他列相同

转置 6 列,其他列相同

我有这样的文件......

a|b|c|d|e|1|2|3|4|5|f|g|h

我需要如下结果

a|b|c|d|e|1|f|g|h  
a|b|c|d|e|2|f|g|h  
a|b|c|d|e|3|f|g|h  
a|b|c|d|e|4|f|g|h  
a|b|c|d|e|5|f|g|h  

基本上我试图转置 5 列,其余的列对这 5 个属性中的每一个重复...(这里单行中的值 1,2,3,4,5...被转置为 5 个单独的属性)行...在所有这 5 行中,a、b、c、d、e、f、g、h 都是重复的。

请帮助使用 AWK/SED/CUT 任何东西。

答案1

awk解决方案:

awk -F'|' '{ for(i=6;i<=10;i++) print $1,$2,$3,$4,$5,$i,$11,$12,$13 }' OFS='|' file

输出:

a|b|c|d|e|1|f|g|h
a|b|c|d|e|2|f|g|h
a|b|c|d|e|3|f|g|h
a|b|c|d|e|4|f|g|h
a|b|c|d|e|5|f|g|h

  • for(i=6;i<=10;i++)- 迭代关键字段

相关内容