>>4579 べた 多次元配列の使い方が正しいか問題はありますが、書き込みがあった シェルを使用して、多次元配列で動くのを作ってみました。 一応、動きますが。 ----------------------- #!/bin/sh # if [ $# -eq 0 ]; then echo "$0 FileName" exit 1 fi FILE=$1 OUT_FILE=kekka.log rm ${OUT_FILE} > /dev/null 2>&1 nawk -v OUT=${OUT_FILE} ' function max_desc(lstadr,lst,x,y) { cnt=split(lstadr,arrlst,":"); for(y=1;y<=cnt;y++) { lst[x,y]=arrlst[y]; } return cnt; } { num=1; row=0; col=0; n=split($0,arglst,","); for(i=11;i<=n;i++) { ret=max_desc(arglst[i],lst,++row,col); if (ret>num) { num=ret; } } seqno=1; for(y=1; y<=num; y++) { for(j=1; j<=10; j++) { if (j==2) { printf("%d,",seqno++) >> OUT ; } else { printf("%s,",arglst[j]) >> OUT; } } for(x=1; x<=row; x++) { printf("%s",lst[x,y]) >> OUT; if (x!=row) { printf("%s",",") >> OUT; } } printf("\n") >> OUT; } for(x=1; x<=row; x++) { for(y=1; y<=num; y++) { delete lst[x,y]; } } }' ${FILE} exit 0 ----------------------- |