Dateien zählen und etwas damit machen (in meinem Fall mit JHead)

Dateien zählen und etwas damit machen (in meinem Fall mit JHead)

Ich habe einen Ordner mit den Dateien 1.JPG, 2.JPG, ..., 12.JPG

Gibt es einen Ausdruck, um alle Dateien auf einmal zu verarbeiten? Ich möchte einen JHead-Befehl verwenden, aber ich denke, es gibt eine allgemeine Lösung.

Danke schön!

Antwort1

Wenn Sie beispielsweise 1.JPG in MeinBild1-320x480.jpg und 2.JPG in MeinBild2-320x480.jpg usw. umbenennen möchten, können Sie bei Verwendung der Bash-Shell in das Verzeichnis wechseln, das die Dateien enthält, und Folgendes eingeben:

i=0; for n in *.JPG; do mv "${n}" "MyPicture${n/.JPG/-320x480.jpg}"; i=$((i+1)); done; echo "Processed ${i} files."

(Die oben genannten Befehle können alle in einer einzigen Befehlszeile eingegeben werden.)

Oder wenn Sie es in ein Skript einfügen möchten, wäre es in mehreren Zeilen leichter zu lesen und zu verstehen:

# reset counter variable if you want to count the number of files processed
i=0

# loop for all files in current working directory that end with ".JPG"
for n in *.JPG
do
  # rename (move) each file from the original name (${n} is generally safer than $n)
  # to a new name with some text before the original name and then with the end of
  # the original name (".JPG") replaced with a new ending
  mv "${n}" "MyPicture${n/.JPG/-320x480.jpg}"

  # increment the counter variable
  i=$((i+1))
done
# display the number of files processed.
echo "Processed ${i} files."

Wenn Sie eine andere Verarbeitung wünschen, müssen Sie Ihre Frage möglicherweise bearbeiten, um weitere Einzelheiten anzugeben.

verwandte Informationen