i want to compile a list of files in all sub directories but exclude the current directory.
the closest i could get was to search 'only' the current directory, which is the opposite of what i wanted.
find . ! -name . -prune
i want to compile a list of files in all sub directories but exclude the current directory.
the closest i could get was to search 'only' the current directory, which is the opposite of what i wanted.
find . ! -name . -prune
find `ls -l | awk ' /^d/ { print $NF } '` -name "..." -print
thank you, with a slight modification so i only found files '- type f', that worked a treat.
cheers
just one more thing.
what does the /^d/ do? i know ^ means 'start from the beginning' but what about the d?
find `ls -l | awk ' /^d/ { print $NF } '` -type f -name "*" -print
$ ls -l
total 120
drwxr-xr-x 2 training staff 512 Apr 24 15:38 an
drwxr-xr-x 2 training staff 512 Apr 24 15:38 bn
-rw-r--r-- 1 training staff 446 Apr 19 16:48 dif
-rw-r--r-- 1 training staff 63 Apr 24 12:10 f
-rw-r--r-- 1 training staff 38 Apr 10 11:12 f2
d - directory
/^d/ { print $NF } Print the last field of line starting with "d"
In the above listing an and bn are directories
You dont need -name "*" if you want the list of all files
find `ls -l | awk ' /^d/ { print $NF } '` -type f -print
find ./*/ -name ...
thanks, it seems obvious now that ^d meant directories. and of course i don't need "*" when using -type f, again, very obvious too - in hindsight that is.
cheers.
so simple. i tried all combinations except that one, before i got impatient and shouted help.
thank you for your reply.