Wie finde und printf funktioniert in bash script
Meine Umgebung: Linux Redhat, Bash 3.5
Ich habe ein Bash-Skript erstellt, um alle Dateien in Unterverzeichnissen mithilfe des folgenden Skripts aufzulisten.
#!/bin/bash
for i in $( find . -maxdepth 1 -mindepth 1 -type d ); do
b=$(echo $i | awk '{print substr($1,3); }' )
find $i -type f > $i/$b.txt
done
Ich will hinzufügensha1sum
Ich habe mein Skript wie unten gezeigt bearbeitet.
#!/bin/bash
for i in $( find . -maxdepth 1 -mindepth 1 -type d ); do
b=$(echo $i | awk '{print substr($1,3); }' )
find $i -type f ! -iname '*thumbs.db*' -printf "%b:" -exec sha1sum -b {} \; > ./$i/$b.txt
done
Der zweite Code ist mit einem Fehler unter @ fehlgeschlag
No such file or directory