Создайте последовательное имя файла с помощью команды dd

Создайте последовательное имя файла с помощью команды dd

Я немного новичок в Linux, но я пытаюсь восстановить некоторые файлы для одного из наших клиентов со старого ленточного накопителя. Они попросили, чтобы мы вытащили файлы сырыми блоками данных по 1024k. Команда, которую я использую для этого, следующая:

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

Это работает просто отлично, однако мне приходится вручную менять имя файла для каждого сгенерированного файла, и я уверен, что есть лучший способ сделать это. В идеале я бы также хотел использовать команду «sleep» или что-то подобное, чтобы мне не приходилось сидеть и нажимать Enter каждые несколько секунд.

Спасибо большое, ребята!!

решение1

Используйте цикл:

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

решение2

Одним из примеров решения будет использование forцикла и seqкоманды, подобных этой:

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

Связанный контент