>>3488 米 すみません、その部分のif文自体不要でした。 (不要になるように修正してたのを忘れてました。) ----- $ cat list 1 file1.txt 12 file1.txt 123 file1.txt 1234 file2.txt 12345 file3.txt 123456 file4.txt 1234567 file5.txt $ cat test.sh #!/bin/sh sort -n -r $1 | awk '{ i = sprintf("%d",length($1) / 3) ; j = sprintf("%d",length($1) % 3) ; if ( j == 0 ) j = 3 ; str_buf = sprintf("%s",substr($1,0,j)) ; for ( k=0 ; k<i ; k++ ) { cut_str = substr($1,j+(k*3)+1,3) ; if ( cut_str == "" ) break ; str_buf = sprintf("%s,%s",str_buf,cut_str) ; cut_str = "" ; } printf("%10s %s\n",str_buf,$2) ; }' $ sh test.sh list 1,234,567 file5.txt 123,456 file4.txt 12,345 file3.txt 1,234 file2.txt 123 file1.txt 12 file1.txt 1 file1.txt |