SLES 12.5 устанавливает Python 3.9 из исходного кода

Используйте команду :sс регулярным выражением:

:%s/\v^\s*\S+(\s+(\S+).*)?/\2

\vговорит Vim использовать "очень волшебный" стиль регулярных выражений, который похож на расширенные регулярные выражения в grep или pcre.

Регулярное выражение соответствует одному слову в начале, возможно, которому предшествует некоторый необязательный пробел. Затем, после еще нескольких пробелов, внутри группы \2фиксируется второе слово. Наконец, .*соответствует всей остальной части строки.

Часть после первого слова необязательна (, сгруппирована в круглые скобки и сделана необязательной с последним?). Это гарантирует, что строки с одним словом по-прежнему будут сопоставляться, и в этом случае они будут заменены пустой строкой, что, как я полагаю, следует ожидать от строки с одним словом, поскольку вторая работа в этом случае пуста. кейс. Это одно из преимуществ использования регулярных выражений для этой задачи, так как вы получаете больше контроля над тем, что делать со строками, которые имеют угловые регистры.

Наконец, группа \2используется для замены. Он захватил второе слово в строке само по себе.

Затем вы можете сохранить измененное содержимое под новым именем файла:

:saveas new_file.txt

Это сохранит ваш немодифицированный old_file.txtи гарантирует, что дальнейшие модификации текущего буфера будут выполняться только в new_file.txt.

0
30.04.2021, 23:10
1 ответ

Версия openssl-devel, установленная вами в системе, недостаточно свежа для сборки Python 3.9. Вы столкнетесь с этой проблемой со многими пакетами, содержащими необходимые вам библиотеки разработки, потому что вы используете SLES 12, который имеет только версию 1.0.0, тогда как для Python 3.9 требуется минимум 1.0.2 и предпочтительно 1.1.

Единственное, что вы можете сделать, это собрать Openssl 1.0.2 или 1.1 из исходного кода и добавить его в свою среду. Вам нужно будет сделать то же самое с любыми другими необходимыми пакетами, которые недостаточно свежи в вашей системе. SLES 12 по-прежнему поддерживается, но в нем не будет последних пакетов для более позднего программного обеспечения, такого как Python 3.9.

2
28.07.2021, 11:36

Теги

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