Поиск двух альтернативных номеров версий с помощью «grep»

Каталог /media/linkan/Bubba root/homeпуст, потому что в вашей старой системе /homeбыла отдельной файловой системой. Пока что вы смонтировали только корневую файловую систему со старого диска.

Кроме того, на старом диске была файловая система /homeвнутри логического тома LVM, на что указывает эта строка в старом файле fstab:

/dev/mapper/bubba-storage   /home   ext3    defaults        0   2

Итак, ваша старая файловая система /homeнаходилась в группе томов LVM с именем bubbaв логическом томе с именем storage. По историческим причинам существует два пути устройства для обращения к такому логическому тому:/dev/mapper/bubba-storageи /dev/bubba/storage. Оба относятся к одному и тому же.

При горячем -подключении диска, содержащего группу томов LVM,есть один дополнительный шаг :: вы должны активировать группу томов, прежде чем сможете смонтировать любой из логических томов в ней. Запустите sudo vgchange -ay bubba, чтобы активировать группу томов :, в случае успеха устройство /dev/mapper/bubba-storageдолжно стать доступным в вашей системе. (В случае сбоя сообщение об ошибке от команды vgchangeбудет иметь важное значение для выяснения проблемы.)

Затем вы можете смонтировать его куда угодно, но, возможно, будет разумнее смонтировать его на старую точку монтирования. Сначала закройте все окна диспетчера файлов с графическим интерфейсом, которые в данный момент обращаются к каталогу /media/linkan/Bubba root/home, чтобы избежать сообщений об ошибках mount point is busy, и выполните:

cd /
sudo mount /dev/mapper/bubba-storage "/media/linkan/Bubba root/home"

Если вы не можете получить доступ к своему старому домашнему каталогу под /media/linkan/Bubba root/home/с помощью обычной учетной записи пользователя, возможно, это связано с тем, что ваша учетная запись в старой системе использовала другой номер UID, чем в новой системе. Это можно легко исправить. (Я предполагаю, что ваше текущее имя пользователя linkan, а имя пользователя/домашний каталог в старой системе было old_linkan. Измените по мере необходимости.)

cd "/media/linkan/Bubba root/home"
sudo chown -R linkan: old_linkan

После завершения команды chownваш старый домашний каталог теперь должен отображаться как принадлежащий вам в списке ls -lи должен быть доступен как обычно.

2
25.06.2021, 16:39
2 ответа

В вашем случае вы хотите найти все строки, содержащие 49.или 4.9.сразу после строки hcos-. Для этого используйте

grep -E 'hcos-4\.?9\.' file.txt 

, где опция -Eуказывает grepиспользовать расширенный синтаксис регулярных выражений. В базовом синтаксисе регулярных выражений это достигается:

grep 'hcos-4\.\{0,1\}9\.' file.txt

Вам не нужно catзагружать файл в grep, так как grepможет открывать файлы самостоятельно.

7
28.07.2021, 11:22

Общий способ решить эту проблему — использовать чередование:

grep 'hcos-\(4\.9\|49\)' file.txt

(Решения с необязательным знаком '.' работают только для этого конкретного случая ).

2
28.07.2021, 11:22

Теги

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