Команда Sed в Ubuntu не работает

Всякий раз, когда я использую мою команду sed в Ubuntu, вывод не отражается в файле.

sed 's/dog/cat/' me

не изменяет dog hates rat в файле на cat hates rat в файле me.

0
задан 29 April 2016 в 18:33

1 ответ

По умолчанию, sed не редактирует входной файл, он просто показывает вывод на STDOUT.

Для редактирования файла на месте Вам нужно -i опция sed:

sed -i.bak 's/dog/cat/' file.txt

После операции, исходный файл будет резервным копированием как file.txt.bak, и измененный файл будет file.txt.

В Вашем случае:

sed -i.bak 's/dog/cat/' me

, Если Вы не хотите продолжать спину:

sed -i 's/dog/cat/' file.txt
<час>

От man sed:

-i [СУФФИКС], - оперативные файлы редактирования [=SUFFIX]

на месте (делает резервное копирование, если СУФФИКС предоставил)

0
ответ дан 30 April 2016 в 04:33
  • 1
    Я исправил .txt в этом, но этом didn' t, кажется, работают. Также то, что я приклеил несколько комментариев, было разделено. </newbie> rename 's/^([0-9]+) (.*)\.*/$2 $1.*/' /path/to/files/*.* то, что я выполнил, который дал мне это: [DanielFox] (character picture) Headshot of Ninetales {digital color} (ELECTRONIC COPY).jpg 0093.* – mattdawolf 2 October 2017 в 03:38

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

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