#! /bin/sh # Based on previous version of lslR # Modified by Tomas Novak April 2000 # (to allow spaces in filenames) ZCAT="gunzip -c" CAT="cat" mclslRfs_list () { case "$1" in *.gz) MYCAT="$ZCAT";; *.z) MYCAT="$ZCAT";; *.Z) MYCAT="$ZCAT";; *) MYCAT="$CAT";; esac $MYCAT "$1" | gawk ' BEGIN { dir="" } /^total\ [0-9]*$/ { next } /^$/ { next } /^[^[:blank:]].*:$/ { if ($0 ~ /^\//) dir=substr($0, 2); else dir=$0; if (dir ~ /\/:$/) sub(/:$/, "", dir); else sub(/:$/, "/", dir); next; } { printf "%s %3d %-8s %-8s %8d %3s %2d %5s %s", $1, $2, $3, $4, $5, $6, $7, $8, dir for (i=1; i<9; i++) sub("[^[:blank:]]+[[:blank:]]+", ""); printf "%s\n", $0 }' 2>/dev/null } case "$1" in list) mclslRfs_list "$2"; exit 0;; esac exit 1