Hallo Patrick,

for i in $(find .); do
   name=$(basename $i)
   [ ${#name} -gt 10 ] && echo $i
done


Jochen's Lösung ist schön kurz (++), aber:

for i in $(find .); do

wenn das 'inline' expandiert wird, also $(find .) durch ./a ./a/b.txt
.. ersetzt wird, kann es bei vielen Dateien zu Fehlern kommen (hatte
ich mal, ist das noch so?). Die Lösung mit find | while read ist
dagegen sicherer, aber wohl auch langsamer :-))

name=$(basename $i) => name=$(basename "$i");

(${#name} vielleicht auch) Aus dem Kopf, also vorsicht,

Grüsse markus

-- Martin, wo ist die Perl-Lösung ? :-))
--
----------------------------------------------------------------------------
PUG - Penguin User Group Wiesbaden - http://www.pug.org

Antwort per Email an