*** empty log message ***
[midnight-commander.git] / vfs / extfs / lslR.in
blobb9b445e24ea480fe980157c28e859fdccc583c37
1 #! /bin/sh
3 # Based on previous version of lslR
4 # Modified by Tomas Novak <tnovak@ipex.cz> April 2000
5 # (to allow spaces in filenames)
7 ZCAT="gunzip -c"
8 CAT="cat"
10 mclslRfs_list () {
11 case "$1" in
12 *.gz) MYCAT="$ZCAT";;
13 *.z) MYCAT="$ZCAT";;
14 *.Z) MYCAT="$ZCAT";;
15 *) MYCAT="$CAT";;
16 esac
18 $MYCAT "$1" | @AWK@ '
19 BEGIN {
20 dir="";
21 # Pattern to match 8 first fields.
22 rx = "[^ ]+[ ]+";
23 rx = "^" rx rx rx rx rx rx rx rx;
25 /^total\ [0-9]*$/ { next }
26 /^$/ { next }
27 /^[^ ].*:$/ {
28 if ($0 ~ /^\//) dir=substr($0, 2);
29 else dir=$0;
30 if (dir ~ /\/:$/) sub(/:$/, "", dir);
31 else sub(/:$/, "/", dir);
32 next;
34 { $9 != "" } {
35 # gensub() is not portable.
36 name=$0
37 sub(rx, "", name)
38 # Cannot assign to $9, or spaces in the filename would be reduced.
39 attr=substr($0, 1, length($0)-length(name))
40 printf "%s%s%s\n", attr, dir, name
41 }' 2>/dev/null
44 case "$1" in
45 list) mclslRfs_list "$2"; exit 0;;
46 esac
47 exit 1