Agregue un widget llamado "Menú global" para su Panel de plasma y elimine el botón de la barra de título. El menú global de KDE desapareció
Задача, как утверждает стилдрайвер , разве [0-9]{0,2}
не является -жадным; проблема в том, что .*?
перед этим жадный. sed
поддерживает BRE и ERE, ни один из которых не поддерживает не-жадное сопоставление. Это особенность PCRE. Например, следующие команды:
$ echo 'aQbQc' | sed 's/.*\?Q/X/'
$ echo 'aQbQc' | sed 's/.*Q/X/'
$ echo 'aQbQc' | sed -r 's/.*?Q/X/'
$ echo 'aQbQc' | sed -r 's/.*Q/X/'
весь вывод
Xc
(Я не уверен, почему он просто игнорирует ?
.)
См. Не жадное совпадение -с регулярным выражением SED (Эмуляция Perl.*?
).
Ваше описание функции, которую вы хотите выполнить, является скудным, но я считаю, что я перепроектировал это. Вы можете получить желаемый эффект, не сопоставляя символы перед номером, который вы хотите сопоставить, до тех пор, пока вы не найдете номер:
$ echo '123980925sriten34=ienat' | sed -e 's/\([1-9][0-9]\{0,2\}\+\)\([%=+-]\).*/! \1 \2 /' -e 's/.*!//'
34 =
замена !
любой строкой, которая, как известно, не появляется во входных данных. Если у вас нет такой строки, но вы используете GNU sed, вы можете использовать новую строку:
$ echo '123980925sriten34=ienat' | sed -e 's/\([1-9][0-9]\{0,2\}\+\)\([%=+-]\).*/\n \1 \2 /' -e 's/.*\n//'
34 =
, что, конечно, не может появитьсявни в одной строке.