#!/bin/sh - ME=`basename "$0"` if [ $# -ne 0 ]; then echo "Usage: $ME" >&2 exit 1 fi ls -alR \ | awk ' { if (NF<9) print; else { if ($1 ~ /^[cb]/) { # Device: major/minor are $5+$6. # The filename begins at $10. siz = $5 $6; col = 10; } else { # Others: size is $5. # The filename begins at $9. siz = $5; col = 9; } nam = $(col++); for (i = col; i <= NF; i++) nam = nam " " $i; printf "%s %3d %-8s %-8s %7s %s\n", \ $1, $2, $3, $4, siz, nam; } } ' #--