Пакет Arch Linux не устанавливает/не обновляет пакеты (Ошибка загрузки 404)

sed -nE '
   /\|/!{H;1h;d;}
   G
   /^[^|]+\|([^|]+)\|.*\n\1(\n|$)/!P
'  input.txt data.txt

Результат:

ESP|041336|46566|NY|CA
ESP|041340|46566|NY|CA
ESP|041341|46566|NY|CA

Комментарии:

  • Храните стропы input.txtв трюме, поскольку в нем нет трубы. /\|/!Эти строки разделены символом новой строки в пробеле.

  • Для строк данных мы добавляем область хранения к пространству шаблонов, а затем пытаемся найти второе поле с разделителями вертикальной чертой. Если его не найти, напечатайте часть перед первой новой строкой в ​​пространстве шаблонов P.

    Регулярное выражение, /^[^|]+\|([^|]+)\|.*\n\1(\n|$)/соответствует пространству шаблонов если второе|-поле с разделителем в строке данных (изdata.txt)соответствует одной из входных строк, которые находятся в конце пространства шаблона, разделенного символами новой строки. В конце есть условие ИЛИ, чтобы позаботиться о сценарии, когда совпадающий шаблон был последней строкой файла input.txt.

Предполагается версия GNU sed с включенными расширенными регулярными выражениями для уменьшения шума в строке.

2
07.06.2021, 20:59
1 ответ

ОБНОВЛЕНИЕ:Это был лучший в мире сервер evowise.com . Просто прокомментируйте его в файле /etc/pacman.d/mirrorlist и обновите базу данных pacman с помощью pacman -Syyu.

0
28.07.2021, 11:26

Теги

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