Выбор и вывод определенной строки из файла

То, что вы делаете правильно, используемая вами команда скопирует один раздел в другой. Вы также можете использовать файлы для резервного копирования с помощью DD, таким образом вы также можете поместить некоторые /etc/ файлы или что-то еще, что вы хотите сохранить на том же внешнем диске, где вы поместили свою домашнюю резервную копию.

0
21.01.2020, 18:30
2 ответа

Вам нужно экранировать круглые скобки (, а также использовать звездочку или какой-либо другой метод для сопоставления более чем одного символа между hdisk и SVC ). например.:

sed 's/^hdisk\([^\/]*\)SVC.*/\1/' filename

0
28.01.2020, 02:38

Вы также можете использовать подход, основанный наawk-:

С GNU Awk:

awk 'match($2,/^\/vol[[:print:]]*hdisk([^_]+)SVC/,v) {print(v[1])}' filename

будет соответствовать любой строке, где второй столбец содержит шаблон /vol<...>hdisk<...>SVC<...>и выводит строку между hdiskи первой SVC, так как знаки подчеркивания _были исключены.

Другой подход (должен быть портативным)

awk 'split($2,v,/hdisk|SVC/)>1 {print v[2];next}' filename

будет использовать hdiskи SVCв качестве разделителей полей для разделения второго столбца на поля и печати второго поля, если найдено более одного.

0
28.01.2020, 02:38

Теги

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