603 Stimmen

Rekursive Suche nach Dateien mit einer bestimmten Erweiterung

Ich versuche, alle Dateien mit einer bestimmten Erweiterung in einem Verzeichnis und seinen Unterverzeichnissen mit meiner Bash (Latest Ubuntu LTS Release) zu finden.

Dies wird in einer Skriptdatei geschrieben:

#!/bin/bash

directory="/home/flip/Desktop"
suffix="in"

browsefolders ()
  for i in "$1"/*; 
  do
    echo "dir :$directory"
    echo "filename: $i"
    #   echo ${i#*.}
    extension=`echo "$i" | cut -d'.' -f2`
    echo "Erweiterung $extension"
    if     [ -f "$i" ]; then        

        if [ $extension == $suffix ]; then
            echo "$i ends with $in"

        else
            echo "$i does NOT end with $in"
        fi
    elif [ -d "$i" ]; then  
    browsefolders "$i"
    fi
  done
}
browsefolders  "$directory"

Wenn ich dieses Skript im Terminal starte, sagt es leider:

[: 29: in: unexpected operator

(mit $extension anstelle von 'in' )

Was ist hier los, wo liegt der Fehler? Aber diese geschweifte Klammer

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X