Циркулярная зависимость между lsb-release и python3 (ubuntu 18.04)

Продолжая последний ответ, который использует tr и :cntrl :, можем ли мы сделать

sed "/^[[:cntrl:]]/d" output.txt

Мне кажется, это работает, потому что все строки, сгенерированные vi, начинаются с управляющего символа. Бывает также удаление пустых строк и строк, начинающихся с табуляции, хотя это работает для того, что я делаю. Возможно, есть способ сопоставить любой управляющий символ, кроме \n \m \t.

Может быть, мы можем найти конкретный управляющий символ, и похоже, что все ненужные строки, сгенерированные vi, начинаются с чего-то похожего на ^[. hexdump говорит мне, что первый символ — 1b, так что это тоже работает

sed "/^\x1b/d" output.txt

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

0
15.04.2019, 06:39
1 ответ

Вы можете исправить установку Python, не исправляя lsb_release. Ваша установка Python требует переустановки других пакетов Python; не менее

sudo apt install --reinstall libpython3.6-minimal

и, возможно, больше. Чтобы переустановить все пакеты, запустите

sudo apt install --reinstall libpython3.6{,-minimal,-stdlib} python3.6{,-minimal}

После этого вы обнаружите, что lsb_releaseработает нормально.

1
28.01.2020, 02:40

Теги

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