
93578
03.01.2020, aktualisiert um 15:34:33 Uhr
Kann mir jemand mit der Automatisierung von Dateinamen helfen?
Frohes neues Jahr!
Ich habe eine Frage:
Ich möchte gerne folgendes Skript modifizieren:
Nun jedes mal ein Name manuell zu schreiben ist ziemlich mühesam. Wie kann man Script so ändern, dass die Dateien "name*.txt" und "datei*.txt" Ihre Namen automatisch bekamen (immer "i+1")? Es handelt sich um UTF8-txt-Dateien.
Ich habe eine Frage:
Ich möchte gerne folgendes Skript modifizieren:
read -p "Geben sie Dateinamen ein:" name
grep -iP '^(eins|zwei|drei|vier|fünf)$' $name > datei1.txt
grep -ivP '^(eins|zwei|drei|vier|fünf)$' $name > name1.txt
grep -iP '^(mann|frau|kind|tier)$' name1.txt > datei2.txt
grep -ivP '^(mann|frau|kind|tier)$' name1.txt > name2.txt
rm name1.txt
grep -iP '^(september|oktober|november)$' name2.txt > datei3.txt
grep -ivP '^(september|oktober|november)$' name2.txt > name3.txt
rm name2.txt
grep -iP '^(rot|gelb|schwarz|blau)$' name3.txt > datei4.txt
grep -ivP '^(rot|gelb|schwarz|blau)$' name3.txt > name4.txt
rm name3.txt
........ Viele, viele weitere ähnliche GREP-Zeilen und nun letzte Zeile .....
grep -iP '^(brot|gebäck|butter)$' name999.txt > datei1000.txt
grep -ivP '^(brot|gebäck|butter)$' name999.txt > name1000.txt
rm name999.txt
cat datei*.txt > big.txt
comm -23 $name name1000.txt > name-neu.txt
rm name1000.txt
rm $name
rm datei*.txt
Nun jedes mal ein Name manuell zu schreiben ist ziemlich mühesam. Wie kann man Script so ändern, dass die Dateien "name*.txt" und "datei*.txt" Ihre Namen automatisch bekamen (immer "i+1")? Es handelt sich um UTF8-txt-Dateien.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 530740
Url: https://administrator.de/forum/kann-mir-jemand-mit-der-automatisierung-von-dateinamen-helfen-530740.html
Ausgedruckt am: 26.04.2025 um 16:04 Uhr
2 Kommentare
Neuester Kommentar
Nur mal auf die Schnelle als Ansatz...
Das ist eine Iteration über Dateien mit der Endung txt hinweg im Ordner /Data.
Jede gefundene TXT-Datei sollte dabei an Ihren Basename ein Suffix angehängt bekommen, welches vor Schleifeneintritt inkrementiert wird.
Du musst den Code nur an Deine Bedürfnisse anpassen.
Zusätzliche Info:
https://tecadmin.net/how-to-extract-filename-extension-in-shell-script/
#!/bin/bash
for filename in /Data/*.txt; do
for ((i=0; i<=3; i++)); do
mv "$filename" "Logs/$(basename "$filename" .txt)_Log$i.txt"
done
done
Das ist eine Iteration über Dateien mit der Endung txt hinweg im Ordner /Data.
Jede gefundene TXT-Datei sollte dabei an Ihren Basename ein Suffix angehängt bekommen, welches vor Schleifeneintritt inkrementiert wird.
Du musst den Code nur an Deine Bedürfnisse anpassen.
Zusätzliche Info:
https://tecadmin.net/how-to-extract-filename-extension-in-shell-script/