Как применить несколько команд к CSV-файлу, не отменяя предыдущую команду?

Команда (, подобная вашей echo), принимает аргументы командной строки, которые могут быть флагами(-eв вашем случае ). Многие команды (, по крайней мере, распространенные версии Linux ), понимают--(два дефиса )как "конец флагов, все, что следует за ними, является обычными аргументами". Таким образом, вы можете удалить файл с извращенным именем -rс помощью rm -- -r.

Для отображения материала printfболее надежен во всех отношениях (, если его сложнее использовать ).

1
09.10.2021, 15:41
1 ответ

Ни одна из этих команд ничего не отменяет, они просто вообще не изменяют файл. Примените одну из ваших команд и убедитесь, что файл не изменился. Такие команды, как head, sedи cut, читают файл, вносят свои изменения и отправляют вывод на stdout, т.е. грамм. сеанс оболочки.

Если вы действительно хотите изменить файл, вы можете

  • вывод одной команды в следующую
  • используйте sedс опцией -i, если она доступна в вашей sedверсии
  • перенаправить вывод каждой команды во временный файл с > temp-filenameкоторый можно использовать в качестве входных данных для следующего этапа
1
13.10.2021, 11:09

Теги

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