Чтобы ввести пустую строку в файл в той же позиции, что и изменения в акторах в file1.txt
, попробуйте:
$ awk -F '|' '{save=$0; getline<"file1.txt"} NR>1 && $2!=prev {print ""} {prev=$2; print save}' file2.txt
1234|oneflewovercuckoosnest^asgoodasitgets
5678|theshining
4321|batmanbegins^darkknight
Вышеупомянутое работает почти так же, как ваш код, за исключением того, что он расширен для одновременного чтения двух файлов. Он читает из file2.txt
и сохраняет строку в переменной save
. Если затем читает из file.txt
и, используя ту же логику, что и ваш код, определяет, изменяется ли актер, и, если да, печатает разрыв строки. Затем он печатает строку, полученную от file2.txt
.
Каким-то образом вы получили версию /usr/lib/upower/upowerd
, которая не соответствует файлу, содержащемуся в пакете upower
.
Чтобы это исправить, повторно -установите пакет:
sudo apt install --reinstall upower
Если это не поможет, проверьте, нет ли отклонений:
dpkg-divert --list /usr/lib/upower/upowerd
Если это указывает на отклонение, проверьте соответствующий пакет; вам может потребоваться обновить или удалить его.
Только что исправлена та же проблема при обновлении с 19.10 до 20.04.
Запуск dpkg install --reinstall
и dpkg --verify
не помог, но они подтвердили, что у меня установлен правильный пакет.
Выполнение ldd /usr/lib/upower/upowerd
показало плохую зависимость, в моем случае, от libusbmuxd-04
.
Запуск objdump -p /usr/lib/upower/upowerd | grep usbmux
не показал зависимости.
Проблема, похоже, была в /etc/ld.so.cache
, поэтому удаление этого файла помогло, но только до следующего создания кэша.
В конце концов выяснилось, что причиной проблемы была библиотека в /usr/local, и я обнаружил, что:
sudo rm /etc/ld.so/cache
export LD_DEBUG=files
ldd /usr/lib/upower/upowerd
И это дало лучший след, который в конечном итоге указал мне на файл /usr/local/lib
, который вызывал проблемы.
У меня была аналогичная проблема, и я наконец нашел способ ее решить:
Главное, что нужно понять, это то, что upowerd
не сама upowerd
ссылается на несуществующую -библиотеку, а одна из библиотек, на которую она ссылается, затем ссылается на несуществующую библиотеку.
Чтобы просмотреть цепочку зависимостей, выполните:
ldd -v /usr/lib/upower/upowerd
Это даст вам иерархическое представление зависимостей библиотеки. Отследите недостающую библиотеку и проверьте, какая библиотека от нее зависит. В моем случае это была библиотека, которую я установил вручную. Его удаление решило проблему.