
Привет, я пытаюсь заменить строку заголовка из моего файла с помощью команды sed, как указано ниже,
sed "1s/.*/$new_header/" Test_file.csv
Приведенная выше строка заменяет заголовок и выводит его в stdout. Но как перенаправить вывод в новый файл или заменить его напрямую в файлах?
sed "1s/.*/$new_header/" Test_file.csv > new_file.csv
Приведенная выше команда работает нормально, но я хочу перенаправить на тот же файл.
решение1
Вы можете использовать -i
флаг, sed
который будет редактироваться на месте, а также создавать резервную копию:
sed -i.bak "1 s/.*/$new_header/" inputfile
Обратите внимание, что эта -i
опция нестандартна и может работать по-разному в разных реализациях sed
. СмотритеКак добиться переносимости с помощью sed -i (редактирование на месте)?