grep Соответствует только точному слову, не содержащемуся в другом совпадении, окруженном пробелами

У меня были проблемы с восстановлением файлов -Я хотел бы поделиться тем, как мне удалось восстановить файлы:

  1. Команда, показывающая каталог зашифрованных файлов:

    sudo find /media -type d -name.Private
    
  2. Команда для разблокировки личного каталога и каталога, показанного в приведенной выше команде:

    sudo ecryptfs-recover-private
    

(пример:sudo ecryptfs-recover-private /media/ubuntu/1efe72f6-86-41e9-9d46 c7b2bb9a1b61/username/.Private)

Я использовал не зашифрованную фразу-пароль, а пароль для входа в Ubuntu, и это сработало (как ни странно, фраза-пароль для шифрования у меня не сработала – попробуйте обе ).

  1. После успешной попытки каталог будет создан в папке с именем /tmp/createdсистемой

  2. для доступа к этим файлам я должен был быть пользователем root:

    sudo se
    
  3. и открыть каталог с терминала:

    nautilus /tmp/created folder name by system
    
  4. чтобы скопировать нужные папки, файлы нужно было их выделить, щелкнуть правой кнопкой мыши "Копировать в..."

0
20.11.2019, 15:33
2 ответа

Если вы хотите сопоставить одинарные кавычки, включите их в шаблон:

$ grep -F "'exact match'" file
this is an 'exact match'

Обратите внимание, что я использую двойные кавычки вокруг шаблона, так как строка в одиночных -кавычках никогда не может содержать одинарные кавычки. Поскольку строка запроса заключена в двойные кавычки, любая переменная оболочки или подстановка команды внутри строки будут расширены.

Другой способ:

$ grep -F "'"'exact match'"'" file
this is an 'exact match'

Здесь используются двойные кавычки только вокруг одинарных кавычек, а одинарные -заключают в кавычки строку exact match. Переменные оболочки и т. д. в строке будут расширены , а не .

Вы также можете использовать \''exact match'\'для одиночной -кавычки строки и «экранировать» литеральные одинарные кавычки с обеих сторон, но лично я думаю, что это выглядит немного некрасиво.

3
28.01.2020, 02:21

В случае, если вы хотите извлечь только первое совпадение результата, этого будет достаточно:

grep -m1 'exact match' file.txt

-m задают количество совпадений, а 1 означает, что будет показан только первый.

0
28.01.2020, 02:21

Теги

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