GREP: Всегда показывайте контекст n строк

SquashFS - это файловая система только для чтения.

https://en.wikipedia.org/wiki/SquashFS

Вы можете создать новую файловую систему и скопировать содержимое squashfs туда. Для этого вам нужно:

  1. Сделать резервную копию данных из старой файловой системы
  2. Запуститься с Live-CD/USB
  3. Создать новую файловую систему на /dev/mtdblock3
  4. Скопировать данные в новую файловую систему

Вместо загрузки с Live-CD вы можете создать новую файловую систему на другом разделе/диске.

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

  1. Перезагрузка

1
20.11.2018, 11:25
1 ответ

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

perl -0777 -snE '
    @lines = split /\n/;
    for $idx (grep {$lines[$_] =~ $p} 0...$#lines) {
        say join "\n", @lines[$idx-($n-1).. $idx+($n-1)], "--";
    }
' -- -n=3 -p='X' file
0
28.01.2020, 00:23

Теги

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