Как преобразовать новые строки в ряде файлов?

У меня есть набор файлов с любым Windows новые строки (CRLF) или новые строки Unix (LF).

Как я могу преобразовать все новые строки во всех файлах к новым строкам Mac (CR)?

2
задан 19.06.2012, 00:34

1 ответ

Вопрос явно не говорит, но я предполагаю, что Вы имеете в виду текстовые файлы и должны преобразовать формат разделителя строки? OS X не поставлется с инструментами преобразователя файла командной строки, необходимо создать их сами. Perl хорош для утилит Q&D как это:

perl -pe 'if (s/\r?\n/\r/g) {$f=1}; if ($f&&eof()) {s/\r\z//}' PCfile.txt >Macfile.txt

или, для преобразования на месте:

perl -pe 'if (s/\r?\n/\r/g) {$f=1}; if ($f&&eof()) {s/\r\z//}' -i convertfile.txt

Примечание: этот сценарий немного более сложен, чем это, вероятно, должно быть, потому что это записано, чтобы продолжить работать на обоих форматах ПК (разделители строки CRLF) и файлы Unix (разделители LF) и файлы отпуска, это уже находится в старом традиционном формате MacOS (разделители CR между строками) одно. Кроме того, ПК и форматы Unix помещают разделитель после последней строки, в то время как формат Mac не делает (это использует разделители строки, не разделители), таким образом, этот сценарий обнаруживает, когда это на самом деле переводит и удаляет последний разделитель.

2
ответ дан 08.12.2019, 07:29

Теги

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