93578
Jan 03, 2020, updated at 14:34:33 (UTC)
1158
2
0
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.
Please also mark the comments that contributed to the solution of the article
Content-Key: 530740
Url: https://administrator.de/contentid/530740
Printed on: April 20, 2024 at 03:04 o'clock
2 Comments
Latest comment
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/