У меня есть несколько таблиц, для которых мне нужно заменить поле, которое имеет случайную позицию в каждой таблице.
Для информации, таблица представляет собой поля, разделенные точкой с запятой, и я хотел бы заменить поле «данные»
на «ГОД-МЕСЯЦ-ДЕНЬ»
.
Пока что я пробовал:
sed -i 's/datum/YEAR-MONTH-DAY/g' input > output
Но он просто выводит пустой файл.
Как проницательно заметил Steeldriver в комментариях, вы сказали sed -i
редактировать файл на месте . В результате sed не будет выдавать никаких результатов, и перенаправление >
поместит это ничего в выходной файл.
Либо оставьте флаг -i
и примите, что входной файл будет обновлен на месте:
sed -i 's/datum/YEAR-MONTH-DAY/g' input
, либо сбросьте флаг -i
и используйте перенаправление, чтобы поместить обновленное содержимое в выходной файл :
sed 's/datum/YEAR-MONTH-DAY/g' input > output