Нахождение наименьшего индекса, при котором проиндексированный файл журнала не существует в определенном каталоге

Есть несколько способов сделать это. В последнее время для более новых версий Centos большинство приложений для создания загрузочных USB-дисков сообщали о неопределенном поведении при их создании и загрузке с USB-дисков. (Подобно универсальному установщику USB, мультизагрузке YUMI и т. д.)См. здесь

Так что лучше использовать команду ddкак @darkoror другие инструменты Windows или Unix. Большинство из них упомянуты в приведенной здесь ссылке

.

dd if=CentOS-7.0-1406-x86_64-NetInstall.iso of=/dev/sdb

здесь, of=/dev/sdbдолжен быть вашим USB-накопителем и должен указываться только как диск.Не как раздел (, не sdb1, sdb2 и т. д. ). вы можете проверить ход dd, выполнив следующие действия. (Цитата из См. здесь)

Сначала узнайте идентификатор процесса dd, запустив в новом виртуальном терминале следующее.

$ pgrep -l '^dd$'
8789 dd
$

Для отправки сигнала USR1 процессу dd:

$ kill -USR1  8789
$

Обратите внимание, что как только будет обнаружен сигнал USR1, dd распечатает текущую статистику в свой STDERR.

$ dd if=/dev/random of=/dev/null bs=1K count=100
0+14 records in
0+14 records out
204 bytes (204 B) copied, 24.92 seconds, 0.0 kB/s

После сообщения о состоянии dd возобновит копирование. Вы можете повторить приведенную выше команду kill в любое время, когда захотите просмотреть промежуточную статистику. В качестве альтернативы вы можете использовать команду watch для выполнения kill с заданным интервалом.

$ watch -n 10 kill -USR1 8789

Спасибо

0
09.07.2019, 14:09
2 ответа

Как bashсценарий:

#!/bin/bash
i=1
while [ -f "log${i}.txt" ]; do
  ((i++))
done
echo "log${i}.txt"

Цикл while -увеличивает переменную $iдо тех пор, пока существует файл log${i}.txt. echoвыводит несуществующее -имя файла со следующим номером.

3
28.01.2020, 02:15

Этот ужасный конвейер удовлетворит ваше требование (соединить части без -комментариев вместе, чтобы создать нечитаемый -вкладыш, если необходимо ).

Настройка

touch log{1..13}.txt log{15..20}.txt

Найти первое доступное размещение элемента

( find log*.txt | sort -V; echo X ) |     # List the files and an extra one at the end
    nl |                                  # Add line-numbers
    tr -dc '[:digit:][:space:]' |         # Strip away non-numeric parts
    sed -r '/ ([1-9][0-9]*)\t\1$/d' |     # Delete lines with two matching numbers
    awk '{print $1; exit}'                # Print the the line number of the first remaining match

Выход

14

Если вы затем заполните отсутствующий слот

touch log14.txt

Выход

21

В качестве отступления для других читателей: если вы сможете найти способ улучшить конструкцию tr | sed | awk, которая часто свидетельствует о плохо написанном конвейере, мне было бы интересно посмотреть, что вы предлагаете.

2
28.01.2020, 02:15

Теги

Похожие вопросы