Команда (, подобная вашей echo
), принимает аргументы командной строки, которые могут быть флагами(-e
в вашем случае ). Многие команды (, по крайней мере, распространенные версии Linux ), понимают--
(два дефиса )как "конец флагов, все, что следует за ними, является обычными аргументами". Таким образом, вы можете удалить файл с извращенным именем -r
с помощью rm -- -r
.
Для отображения материала printf
более надежен во всех отношениях (, если его сложнее использовать ).
Ни одна из этих команд ничего не отменяет, они просто вообще не изменяют файл. Примените одну из ваших команд и убедитесь, что файл не изменился. Такие команды, как head
, sed
и cut
, читают файл, вносят свои изменения и отправляют вывод на stdout
, т.е. грамм. сеанс оболочки.
Если вы действительно хотите изменить файл, вы можете
sed
с опцией -i
, если она доступна в вашей sed
версии > temp-filename
который можно использовать в качестве входных данных для следующего этапа