Добавить вывод sed в файл

Добавить вывод sed в файл

У меня есть два файла со скриптами, скажем, file1и file2. Я хочу взять содержимое file1, изменить символ aна Ain file1и добавить вывод в , file2не изменяя содержимое file1. Я пытаюсь сделать следующее:

sed -i ‘s/a/A/g’ file1 >> file2

но это просто меняет aна Aв file1.

решение1

Просто снимите -iфлаг:

sed 's/a/A/g' file1 >> file2

Флаг -iиспользуется для редактирования указанного файла на месте, поэтому он делает именно это file1. Изman sed:

-i[SUFFIX], --in-place[=SUFFIX]

       edit files in place (makes backup if SUFFIX supplied)

Причина, по которой вы не получаете ничего добавленного к , file2когда используете , -iзаключается в том, что >>используется для добавления stdoutк указанному файлу. Но поскольку file1редактируется на месте из-за -i, вывод не генерируется, поэтому ничего не добавляется к file2.

Связанный контент