Какой самый простой способ заменить тестовый тест GCC5 на запас GCC5?

Другое grep решение (file содержит пример из вашего вопроса):

$ grep -oP '/\K[^/]+\.pdf' file
test160511.pdf
test160511.pdf

Только для уникальных имен:

$ grep -oP '/\K[^/]+\.pdf' file | sort -u
test160511.pdf

Объяснение

-o: напечатать только согласованную часть строки. -P: используйте Perl Compatible Regular Expressions (PCRE) /\K[^/]+\.pdf: сопоставьте /, а затем отбросьте его (это то, что делает \K, таким образом / не входит в выход). Затем сопоставьте один или несколько символов не / ([^/]+), а затем .pdf. [F14] означает «любой символ» в регулярных выражениях, поэтому для соответствия литералу . вам необходимо избегать его: \. sort -u: печатать только уникальные строки.
3
задан 4 April 2018 в 23:09

2 ответа

То, что я закончил делать:

Получить список пакетов, установленных из инструментальной цепочки PPA, связанных с GCC-5: aptitude -F "%p" search "?origin(ubuntu-toolchain-r) ?version(5.4.1) ?installed" Для каждого из них загрузите правильную версию вручную: aptitude download cpp-5=5.4.0-6ubuntu1~16.04.9 ... Установить все загруженные .debs: sudo dpkg -i *.deb (теперь самое подходящее время для apt check и убедитесь, что вы ничего не сломали). Соедините эти пакеты так, чтобы версии PPA никогда не использовались, создав файл в /etc/apt/preferences.d/, содержащий Package: gcc-5 cpp-5 g++-5 gcc-5-base gcc-5-base:i386 gcc-5-doc libasan2 libgcc-5-dev libgcj16 libmpx0 libobjc-5-dev libstdc++-5-dev Pin: release o=LP-PPA-ubuntu-toolchain-r-test Pin-Priority: -1 Запуск apt-cache policy gcc-5 и проверка, чтобы убедиться, что старая версия является предпочтительной. Переустановите все модули DKMS: dkms status # list DKMS modules sudo dkms remove modulename/version -k $(uname -r) sudo dkms build modulename/version -k $(uname -r) sudo dkms install modulename/version -k $(uname -r) Дважды проверьте с modinfo, что вербагия вновь скомпилированных модулей включает «retpoline». reboot, и надеюсь, что все по-прежнему работает.
1
ответ дан 17 July 2018 в 17:29

То, что я закончил делать:

Получить список пакетов, установленных из инструментальной цепочки PPA, связанных с GCC-5: aptitude -F "%p" search "?origin(ubuntu-toolchain-r) ?version(5.4.1) ?installed" Для каждого из них загрузите правильную версию вручную: aptitude download cpp-5=5.4.0-6ubuntu1~16.04.9 ... Установить все загруженные .debs: sudo dpkg -i *.deb (теперь самое подходящее время для apt check и убедитесь, что вы ничего не сломали). Соедините эти пакеты так, чтобы версии PPA никогда не использовались, создав файл в /etc/apt/preferences.d/, содержащий Package: gcc-5 cpp-5 g++-5 gcc-5-base gcc-5-base:i386 gcc-5-doc libasan2 libgcc-5-dev libgcj16 libmpx0 libobjc-5-dev libstdc++-5-dev Pin: release o=LP-PPA-ubuntu-toolchain-r-test Pin-Priority: -1 Запуск apt-cache policy gcc-5 и проверка, чтобы убедиться, что используется старая версия. Переустановите все модули DKMS: dkms status # list DKMS modules sudo dkms remove modulename/version -k $(uname -r) sudo dkms build modulename/version -k $(uname -r) sudo dkms install modulename/version -k $(uname -r) Дважды проверьте с modinfo, что вербагия вновь скомпилированных модулей включает «retpoline». reboot, и надеюсь, что все по-прежнему работает.
1
ответ дан 23 July 2018 в 18:18

Другие вопросы по тегам:

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