Как избежать пути к файлу в SED?

Вы уже установили PPP LibreOffice (обратите внимание на 1:4.1.4~rc2-0ubuntu1~saucy1~ppa1 в сообщении об ошибке). Затем вы выполнили инструкции по удалению стандартного пакета LibreOffice без удаления PPA. Возможно, это послужило источником проблем, которые вы позже испытали.

Убедитесь, что вы очистили OpenOffice: sudo apt-get remove --purge <package_name>. Имя пакета может быть openoffice как метапакет, но вам может потребоваться проверить файлы .deb, которые вы использовали при установке OpenOffice для правильных имен пакетов.

Как только это будет сделано, sudo apt-get autoremove, чтобы удалить любые ненужные зависимости из OpenOffice.

LibreOffice PPA выглядит так, будто он все еще находится в вашем списке источников, поэтому вы можете sudo apt-get update перестройте списки пакетов, чтобы получить пакеты, необходимые PPA, вместо стандартной версии LibreOffice. Если вам нужно переустановить PPA, см. PPA в LibreOffice для инструкций по его повторной установке.

После этого вы можете установить LibreOffice как правило.

1
задан 4 May 2017 в 00:18

2 ответа

Лучший способ для строк с прямыми слэшами:

sed -i "s|my/path|my/other/path|g" myFileOfPaths.txt
12
ответ дан 25 May 2018 в 17:06

В случаях, когда строка замены или строка шаблона содержат косые черты, вы можете использовать тот факт, что GNU sed позволяет альтернативный разделитель для команды substitute. Общий выбор разделителя - символ трубы | или хэш # - лучший выбор разделительного символа часто зависит от типа обрабатываемого файла. В вашем случае вы можете попробовать

sed -i 's#'$fileWithPath'#HAHA#g' $file

Символ «g» после последнего | используется для изменения всех вхождений в файле, если вам нужно изменить только первое появление, а затем удалить 'г'.

12
ответ дан 25 May 2018 в 17:06

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

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