При использовании об/мин в конечном счете Вы вызываете повреждение в базе данных пакета, существует опция восстановить эту базу данных, таким образом препятствуя тому, чтобы Вы имели для прохождения через в основном переустанавливания. Поскольку один пользователь здесь указал, что это сделано в Debian dpkg --configure -a
.
Предположим, что строка содержит максимум одну из этих [118470]%123[118471] лексем, и что каждая строка содержит такую лексемку.
Мета-символ [118472] \( \)[118473] обозначает группу матчей - на которую при замене делается ссылка через обратную ссылку [118474] \1[118475]. [118476]^[118477]/[118478]$[118479] соответствуют началу/концу строки.
Иначе вы можете предварительно отфильтровать вход, например:
(когда не все строки содержат такую лексему)
Другой вариант:
(когда строка может содержать несколько таких лексем)
Предположим, что ваша версия [118464]grep[118465] поддерживает Perl-совместимые регулярные выражения ([118466]-P[118467]). В противном случае:
psexec \\nightmachine -u DOMAIN\User -p Password -i "C:\FilePath\Application.exe" argument1 argument2"
Используя GNU [118468]sed[118469], можно перевести пробелы на новые строки и получить нужные строки:
В моем решении используется не sed, а grep с расширенным регрессом и опциями только согласования.
$ cat file
1: [18x14] [history 1/2000, 268 bytes] %3
2: [18x14] [history 1/2000, 268 bytes] %4 (active)
$ cat file | grep -Eo '%[0-9]+'
%3
%4
Использование grep в данном случае проще, чем использование sed.
.