bash [if -e *.TIF -> [: too many arguments

Wenn man in bash in einer if [ -e Schleife nach einem Wildcardeintrag sucht, bekommt man immer die Fehlermeldung [: too many arguments. Hintergrund ist, dass -e immer nur ein Argument verarbeiten kann und nicht mit Wildcards umgehen kann. Der Workaround dafuer ist:

files=$(ls *.TIF 2> /dev/null | wc -l)
if [ "$files" != "0" ] ; then
  for i in *.TIF; do
    mv $i ${i/\.tif/\.TIF};
  done
fi

Gefunden habe ich die Loesung bei MDLog:/sysadmin

1 Comments

Leave a Comment.