> print_in_columns() { > - cols=$(expr $ncols / 24) > - cat | tr ' ' '\n' | sort | pr -r "-$cols" -w $ncols -t > + # the input should not contain chars such as '*', > + # otherwise, '*' will be expanded to be all files in the current > + # working directory which don't begin with a dot (`.`) > + set -- $(tr ' ' '\n' | sort) > + col_width=24 > + if [ $ncols -lt $col_width ]; then > + col_width=$ncols > + fi > + cols=$(($ncols / $col_width)) > + rows=$(($(($# + $cols - 1)) / $cols)) > + cols_seq=$(seq $cols) > + rows_seq=$(seq $rows) > + for row in $rows_seq; do > + print_index=$row > + print_line="" > + for col in $cols_seq; do > + if [ $print_index -le $# ]; then > + eval print_line='"$print_line "${'$print_index'}' > + fi > + print_index=$(($print_index + $rows)) > + done > + printf "%-${col_width}s" $print_line > + printf "\n" > + done | sed 's/ *$//' > }
Looks good to me. No further comments (but I don't push). Next time, know that you can use e.g. `$((x + y))` instead of `$(($x + $y))`, though in this case it doesn't matter and not worth another version. _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".