Hi Victor,

> > > while [[ $f ]]; do ls -ld "$f"; f=${f%/*}; done; ls -ld /

An expanded version of the above.  It takes multiple arguments and cuts
out the repetition in the output.

    $ cat lup
    #! /bin/bash

    set -eEu -o pipefail
    shopt -s failglob
    trap 'echo ${0##*/}: line $LINENO: unexpected exit: $? >&2' ERR

    for f; do
        readlink -e "$f"
    done |
    sed '
        \#^/$#{p; d}
        :l
            p
            s#/[^/]*$##
            tc; :c
            s/./&/
            tl
        s#^#/#
    ' |
    xargs ls -Uld |
    awk '!a[$0] {print; a[$0] = 1}'
    $
    $ ./lup ~ . /etc/{passwd,group} / /var/spool/*
    drwxr-xr-x 134 ralph ralph 12288 2012-09-27 12:25 /home/ralph
    drwxr-xr-x  20 root  root   4096 2011-09-18 18:20 /home
    drwxr-xr-x  24 root  root   4096 2012-09-03 13:55 /
    drwxr-xr-x   2 ralph ralph  4096 2012-09-27 12:25 
/home/tmp/1348742884.721268840
    drwxrwxrwt 189 root  root  12288 2012-09-27 11:48 /home/tmp
    -rw-r--r--   1 root  root   2193 2012-02-23 12:02 /etc/passwd
    drwxr-xr-x 158 root  root  12288 2012-09-27 09:34 /etc
    -rw-r--r--   1 root  root   1094 2012-02-23 12:02 /etc/group
    drwxr-xr-x   2 root  root   4096 2011-03-05 02:18 /var/spool/anacron
    drwxr-xr-x   9 root  root   4096 2011-03-05 16:46 /var/spool
    drwxr-xr-x  14 root  root   4096 2010-10-07 17:13 /var
    drwxr-xr-x   5 root  root   4096 2010-10-07 17:03 /var/spool/cron
    drwx--x---   3 root  lp     4096 2011-10-09 11:38 /var/spool/cups
    drwxrwsr-x   2 root  mail   4096 2012-09-27 12:24 /var/mail
    drwxr-xr-x   3 root  root   4096 2010-10-07 17:02 /var/spool/openoffice
    drwxr-xr-x   2 root  root   4096 2010-09-24 13:52 /var/spool/plymouth
    drwxr-xr-x  20 root  root   4096 2011-05-11 11:21 /var/spool/postfix
    drwxr-x---  18 proxy proxy  4096 2012-09-27 09:41 /var/spool/squid
    $

(`lup' just because I already have `l' that does `exec ls -l "$@"'.)

Cheers, Ralph.

-- 
Next meeting:  Bournemouth, Tuesday, 2012-10-02 20:00
Meets, Mailing list, IRC, LinkedIn, ...  http://dorset.lug.org.uk/
New thread on mailing list:  mailto:[email protected]
How to Report Bugs Effectively:  http://goo.gl/4Xue

Reply via email to