Где все диски используются?

Храните вывод smartctl в переменной и используйте его столько раз, сколько захотите.

smartctl_output=$(smartctl -a /dev/sda)
serial_number=$(printf %s "$smartctl_output" | awk 'sub(/^Serial Number: */,"")')
printf %s "$smartctl_output" >"$serial_number.txt"
0
16.04.2015, 06:41
2 ответа

Также можно попробовать:

sudo pvscan

Это покажет, используется ли какой-либо из дисков логическим менеджером томов. Вы также можете использовать fdisk для определения того, какое устройство соответствует каждому физическому диску:

sudo fdisk -l /dev/sda
sudo fdisk -l /dev/sdb
sudo fdisk -l /dev/sbc
sudo fdisk -l /dev/sdd
1
28.01.2020, 02:36

Начиная с этого файла:

$ cat file
uk,1234560000
uk,6789067000
uk,4567890000

Если форматирование в вопросе правильно, я считаю, что это делает то, что вы спрашиваете:

$ awk -F, '1==NR{printf "%s",$1} {printf ",%s-%s",$2,$2} END{print""}' file
uk,1234560000-1234560000,6789067000-6789067000,4567890000-4567890000

Как это работает

awk будет читать в запись (линия) за раз. Каждая строка разделена на поля. С помощью этого образца файла и запятой в качестве сепаратора поля первое поле, называемое $ 1 , всегда и второе поле, называемое $ 2 , количество.

  • -F,

    Это делает awk лечить запятую в качестве сепаратора поля.

  • 1 == NR {printf "% s", $ 1}

    NR - это количество строк, прочитанных до сих пор. Когда 1 == NR , мы находимся на первой строке. Когда мы находимся на первой строке, это рассказывает AWK для печати первого поля UK .

  • PrintF ",% s-% s", $ 2, $ 2

    для всех строк, это говорит о awk для печати запятой, а затем второе поле, тире и второе поле снова.

  • End {Print ""}

    Когда мы достигаем конца файла, это говорит о awk для печати новой строки.

-121--174871-

LSBLK покажет вам точку монтирования ваших дисков.

1
28.01.2020, 02:36

Теги

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