Ich arbeite an einem scp
Anruf, um einen Ordner herunterzuladen, der auf einem Remote-System vorhanden ist. Heruntergeladenen Ordner hat Unterordner und innerhalb dieser Unterordner gibt es eine Reihe von Dateien, die ich als Argumente für ein Python-Skript wie folgt übergeben möchten:Wie rekursiv durchqueren Sie einen Verzeichnisbaum und finden nur Dateien?
scp -r [email protected]:SomeName/SomeNameElse/$folder_name/ $folder_name/
echo "File downloaded successfully"
echo "Running BD scanner"
for d in $folder_name/*; do
if [[ -d $d ]]; then
echo "It is a directory"
elif [[ -f $d ]]; then
echo "It is a file"
echo "Running the scanner :"
python bd_scanner_new.py /home/nsadmin/Some/bash_script_run_files/$d
else
echo "$d is invalid file"
exit 1
fi
done
ich die Logik hinzugefügt haben, um herauszufinden, ob es irgendwelche Verzeichnisse sind und ohne sie . Ich durchlaufe diese Verzeichnisse jedoch nicht rekursiv.
Teil Ergebnisse unter:
File downloaded succesfully
Running BD scanner
It is a directory
It is a directory
It is a directory
Exiting
Ich möchte diesen Code verbessern, so dass sie alle Verzeichnisse durchläuft und alle Dateien aufnimmt. Bitte helfen Sie mir bei Vorschlägen.
Warum verwenden Sie eine 'while' /' read' Schleife die Ausgabe von 'find' zu analysieren (und unter Verwendung von Nicht-Standard-Funktionen) anstelle von' find' die '-exec' Schalter? ':)'. –