Удалить строку с perl в скрипте bash

Если вы говорите о файлах значков .desktop, это означает, что эти файлы рабочего стола не имеют набора значков, см. ответ dipankar -nalui.

В противном случае, если в используемом вами приложении отсутствуют значки и оно является приложением GTK, убедитесь, что у вас установлены пакеты breeze-gtkи kde-gtk-config, и выполните шаги здесь и здесь .

0
28.10.2020, 17:21
2 ответа

Perl нельзя заменить -на замену sed -он поддерживает аналогичный s/pattern/replacement/синтаксис, но это не означает, что другие команды sed будут работать.

Вместо этого вы могли бы сделать

perl -ni -e "print unless m|^pref\.fullscreen\.toolbarPixels|"

Думаю, или просто

perl -ni -e "print unless /^pref\.fullscreen\.toolbarPixels/"

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

2
18.03.2021, 22:54

В случае с яблоком/бананом повторяющиеся элементы возникают, потому что оба оператора действуют на строки в файле. Поскольку нет фильтров операторов melonили peach, они дублируются.

Следующее предотвращает дублирование и реализует желаемое удаление:

$ perl -ni -e "print unless m/(apple|banana)/" test.txt

Альтернатива, убирающая вариативность из регулярного выражения:

$ perl -ni -e "print unless m/apple/ or m/banana/" test.txt
4
18.03.2021, 22:54

Теги

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