Erstellen Sie sequentielle Dateinamen mit dem Befehl dd

Erstellen Sie sequentielle Dateinamen mit dem Befehl dd

Ich bin ein ziemlicher Neuling, was Linux angeht, aber ich versuche, für einen unserer Kunden einige Dateien von einem alten Bandlaufwerk wiederherzustellen. Sie haben uns gebeten, die Dateien in 1024 KB großen Rohdatenblöcken herunterzuladen. Der Befehl, den ich dafür verwende, ist der folgende:

sudo dd /dev/nst0 of=FILE01 bs=1024k

Das funktioniert einwandfrei, allerdings muss ich den Dateinamen für jede generierte Datei manuell ändern und ich bin sicher, dass es dafür eine bessere Möglichkeit gibt. Idealerweise würde ich auch gerne den Befehl „sleep“ oder etwas Ähnliches verwenden, damit ich nicht alle paar Sekunden die Eingabetaste drücken muss.

Vielen Dank, Leute!!

Antwort1

Verwenden Sie eine Schleife:

i=01
while sudo dd if=/dev/nst0 of="FILE$i" bs=1024k count=1 # loop till `dd` errors out
do
    i=$(printf "%02d" $((i+1))) # 0-padded 2-digit number
done

Antwort2

Eine Beispiellösung wäre die Verwendung foreiner Schleife und seqeines Befehls wie folgt:

for i in `seq -f "%02g" 1 99`
do
 sudo dd if=/dev/nst0 of="FILE$i" bs=1024k count=1
done

verwandte Informationen