Hallo,
ich benötige von einer Datei mehrere Kopien die durchnumeriert sind.
Beispiel: aus Datei.txt mehrere Kopien mit Namen Datei-1.txt, Datei-2.txt, Datei-3.txt usw. erstellen. Kennt jemand einen Trick oder ein Tool wie man das in einem Aufwasch automatisiert machen kann?
Erstell Dir mit kwrite oder einem anderen Editor folgendes Bash script und mach es ausführbar:
for ((i=0; i<10; i++))
#initialisiert i mit 0, lässt die Schleife 10 mal durchlaufen und zählt jeweils eins hoch
do
cp test.txt test-$i.txt
#kopiert die Datei bei jedem Schleifendurchlauf und hängt den Schleifenzählerund ein - an den Dateinamen (hier "test") an
done
hth
ayla
EDITH:
#Hier noch eine Version mit Wahl der Anzahl der Kopien, des Dateinamens und der Endung:
echo "Anzahl der gewünschten Kopien eingeben"
read a
echo "zu kopierenden Dateinahmen ohne Endung (z.B. .txt) eingeben"
read b
echo "Dateiendung eingeben (ohne Punkt z.B txt)"
read c
for ((i=0; i<a; i++))
do
cp $b.$c $b-$i.$c
done
Hi ayla,
vielen Dank! Das ist super. :)
Gerne, hat mir mal wieder eine kleine Übung verschafft. :)
Nur noch eine Verständnisfrage: hat die doppelte Klammer in der Schleife eine besondere Bewandnis?
Hi Peter,
da gibt es verschiedene Varianten für dir for-Schleife. Du kannst es auch so machen:
Startwert..Endwert..Schrittweite
for i in {0..10..1}
do
....
done
Infos dazu unter https://www.cyberciti.biz/faq/bash-for-loop/
@harley-peter
Da fragste mich was... Keine Ahnung mehr wo ich das her habe, vermutlich aus irgendeinem bash guide und setz die inzwischen ganz automatisch so -und ich hab's gerade mal getestet, eine einfache Klammerung bringt einen Syntax Fehler
Gruß
ayla
Laut http://www.tldp.org/LDP/abs/html/loops1.html und http://tldp.org/LDP/abs/html/dblparens.html nennt sich das "C-like syntax" ;)
Ah, deshalb funktioniert meist keine einfache Klammerung wenn ich in der bash was mache, stimmt, da kommt oft mein Kurzausflug im "C" von vor 35 Jahren durch :D
Ohne scripts und Kopfschmertze:
apt-cache search glusterfs