Формат кінця рядків як в mac - stack overflow російською
Існує поширена помилка, що на Mac для перенесення рядків використовується \ r. Насправді ж цей спосіб на маках є викопним, а на даний момент використовується перенос рядків як в * nix - \ n. Windows є винятком, перенесення задається \ r \ n.
При використанні в C # перенесення рядків за допомогою платформо-залежних послідовностей виникає при використанні методів на кшталт WriteLine. AppendLine і інших, які зводяться до додавання від платформи залежною послідовності Environment.NewLine.
Відповідно, відповідь: щоб використовувати свій перенесення рядків, треба ставити його явно. Наприклад, замість StringBuilder.AppendLine ( "abc") використовувати StringBuilder.Append ( "abc \ n"). Деякі класи, зокрема класи для роботи з файлами, дозволяють перевизначати використовувану послідовність символів. Наприклад, при створенні StreamWriter можна вказати new StreamWriter (stream)
Якщо ж у вас вже є рядок з віндового переносами, то потрібно зробити пошук і заміну: str.Replace ( "\ r \ n", "\ n") або навіть str.Replace ( "\ r", ""). Якщо ви не знаєте, які переноси використовуються, то можна використовувати регулярні вирази, проте зазвичай це надмірно, бо варіантів по суті тільки два.
відповідь дан 26 Січня '16 о 11:27
Під linux є прекрасна утиліта dos2unix .За допомогою неї можна конвертувати кінці рядків як в Unix формат, так і назад dos, або в mac формат
Згідно з цією статтею, в OS X символ закінчення рядка \ n (LF). Як я розумію, ви ж маєте файл, в якому символ кінця рядка має два символу \ r \ n (CR + LF).
Відповідно ваше завдання зводитися до заміни символів \ r \ n на символ \ n.
За допомогою стандартної функції класу рядки Replace ви можете
Після цього отримаємо рядок можна записати в файл. Єдине, НЕ використовуйте будь-які функції запису в файл нового рядка.
Припускаю, що це повинно бути так.
відповідь дан 26 Січня '16 о 10:57