Удалите повторенные слова с суффиксом в файле

sudo sh -c 'echo "some words" >> /etc/apt/source.list'

Причина sudo эхо "некоторые слова">>/etc/apt/source.list не работает, то, потому что sudo повышает полномочия команды 'эха' а не перенаправления.

>> перенаправление заставляет текущую оболочку создавать/добавлять в файл. Это перестало работать, потому что Ваша оболочка не имеет полномочий сделать так.

Причина мой ответ работает, состоит в том, что Вы работаете, все это (отзовитесь эхом и перенаправление) в новой оболочке, которая была sudo'd. sh -c ... вызывает новую оболочку и выполняет команду, данную в той подоболочке. sudo, прежде чем это сделает ту подоболочку выполненным жгутом из прутьев, нарастил полномочия.

Второй sudo пример не имеет смысла, потому что sudo принимает управление для выполнения, и это не то, что Вы являетесь передающими. Я держал пари, что у Вас действительно есть файл в локальном каталоге названным sudo теперь с содержанием "некоторые слова". Не стесняйтесь удалять это :-)

0
10.12.2012, 17:03
1 ответ

Если это - действительно точный файл, который Вы хотите изменить, можно сделать

sed -i.old -e 's/word_word1_//' /path/to/filename

изменить оперативный файл. Можно пропустить -i... часть для наблюдения то, что сделал бы sed.

( -i опция говорит sed писать файл резервной копии Вашего источника и добавлять a .old к имени файла)

1
28.01.2020, 02:53

Теги

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