Как отобразить строку в текстовом файле, когда следующие три (или более) идентичных строки встречаются последовательно

Пакет flashplugin-nonfreeбольше не поддерживается , если вам нужен плагин Flash -, вам следует установить его вручную:

  1. Загрузите последнюю версию подключаемого модуля в формате tar.gzс сайта Adobe .

  2. От имени пользователя root распакуйте загруженный архив и скопируйте libflashplayer.soв /usr/lib/flashplugin-nonfree.

  3. Исправить владельца и права доступа к файлу:

    chmod 644 /usr/lib/flashplugin-nonfree/libflashplayer.so
    chown root:root /usr/lib/flashplugin-nonfree/libflashplayer.so
    
  4. При необходимости установите альтернативу, чтобы Firefox нашел подключаемый модуль -. Если

    update-alternatives --list flash-mozilla.so
    

    возвращает /usr/lib/flashplugin-nonfree/libflashplayer.so, он настроен правильно (это было бы в том случае, если бы плагин -работал в прошлом ), но если это не так, вам нужно запустить

    update-alternatives --quiet --install /usr/lib/mozilla/plugins/flash-mozilla.so flash-mozilla.so /usr/lib/flashplugin-nonfree/libflashplayer.so 50
    

Для будущих обновлений достаточно повторить первые три шага.

В качестве альтернативы,pepperflashplugin-nonfreeпо-прежнему работает и устанавливает плагин Flash -для Chromium. Вам нужно скачать пакет вручную и установить его с помощью dpkg -i,но он загрузит плагин -и все настроит для вас. Вы можете оставить штекер -включенным с -по -дату, запустивupdate-pepperflashplugin-nonfree --install(и проверяя его состояние с помощью--status).

0
19.11.2019, 07:54
4 ответа

Для печати строки, следующей за тремя одинаковыми последовательными строками:

sed -n '1{N;N};N;/^\(.*\)\n\1\n\1\n/{h;s/.*\n//;p;g};D

Для печати строки перед тремя одинаковыми последовательными строками:

sed -n '1{N;N};N;/\(.*\)\n\1\n\1$/{h;s/\n.*//;p;g};D'
0
28.01.2020, 03:06

Использование GNU sed в расширенном режиме регулярных выражений:

$ sed -Ene '
    $!N;$!N;$d
    /^(.*)(\n\1){2}$/!D
    n;p
' file
display this line

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

0
28.01.2020, 03:06

Кажется, вы полностью изменили вопрос. GNU-сед

sed -nre '
    $!N
    :loop
        $bend
        N
     /(\n[^\n]*)\1$/bloop
     :end;h;s/(.*)\n.*/\1/
     s/^//;treset
     :reset;s/\n/&/3;g;TD
     P;s/.*\n/\n/;:D;D
' file
 display this line 
0
28.01.2020, 03:06

uniq -cпоможет здесь:

$ uniq -c file | tac | awk '$1 >= 3 {getline; print substr($0, 9)}' | tac
display this line
  1. подсчет последовательных одинаковых строк
  2. инвертировать выход
  3. найти строку с запрошенным количеством дубликатов
    • получить следующую строку и вывести ее без счета
  4. снова изменить направление выхода

Вопрос :что делать, если ваш файл содержит

a
bbb
bbb
bbb
ccc
ccc
ccc
d

Вы хотите вывестиaи bbb?

0
28.01.2020, 03:06

Теги

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