使用此脚本,每个字段按照当前文件的最长字打印出来,但每个文件需要换行。这怎么能实现?每个文件后awk换行
awk 'BEGIN{ORS="\n"}FNR=NR{a[i++]=$0; if(length($0) > length(max)) max=$0;l=length(max)} END{ for(j=1; j<=i;j++) printf("%-"(l+1)"s,",a[j-1])}' file1 file2 >outfile
文件1
HELLO
WORLD
SOUTH IS
WARM
NORTH IS
COLD
文件2
HELLO
WORLD
SOUTH
WARM
NORTH
COLD
输出
HELLO ,WORLD ,SOUTH IS ,WARM ,NORTH IS ,COLD
HELLO ,WORLD ,SOUTH ,WARM ,NORTH ,COLD
将'\ n'添加到您正在打印的每一行的末尾。我认为'ORS'只有在你使用'print'而不是'printf'时才会使用。 – Anil