Когда я сохраняю файл TSV в Windows из Excel, он использует окончание строки \ r или \ 015 (восьмеричное), которое отображается в vi как ^ M.
Когда я сохраняю файл TSV на Mac из Excel, он использует окончание строки \ r \ n или \ 015 \ 012 (восьмеричное), которое отображается в vi как ^ M.
Как мне справиться с изменением концов строк в обоих файлах, не добавляя лишних пустых строк, но при этом поддерживая совместимые с linux окончания концов?
В настоящее время я использую exec () в PHP для запуска следующего:
Если я использую:
cat {FILE} | tr -d "\015" > {NEW_FILE}
или
cat {FILE} | tr -d "\r" > {NEW_FILE}
Работает для файлов Windows, но файлы Mac не работают. (удаляет все окончания строк)
Если я использую:
cat {FILE} | tr "\015" "\012" > {NEW_FILE}
или
cat {FILE} | tr "\r" "\n" > {NEW_FILE}
Работает для файлов Mac, но файлы Windows не работают. (создает пустые строки)
Есть идеи, как справиться с одним и тем же?