Просто задумался над тем же вопросом (на стороне Windows, но в равной степени применим к Linux.)
Удивительно, но никто не упомянул об очень автоматизированном способе преобразования CRLF <-> LF для текстовых файлов с использованием старой доброй опции zip -ll
(Info-ZIP):
zip -ll textfiles-lf.zip files-with-crlf-eol.*
unzip textfiles-lf.zip
ПРИМЕЧАНИЕ: это создаст zip-файл, сохраняющий исходные имена файлов, но преобразующий окончания строк в LF. Затем unzip
будет извлекать файлы в zip'-формате, то есть с их исходными именами (но с LF-окончаниями), предлагая перезаписать локальные исходные файлы, если таковые имеются.
Соответствующая выдержка из zip --help
:
zip --help
...
-l convert LF to CR LF (-ll CR LF to LF)