Как я могу заменить все символы новой строки пробелом, кроме последней строки? Я могу заменить все символы новой строки на пробел, trно как я могу сделать это с некоторыми исключениями?
Как я могу заменить все символы новой строки пробелом, кроме последней строки? Я могу заменить все символы новой строки на пробел, trно как я могу сделать это с некоторыми исключениями?
Ответы:
Реализовать идею vonbrand в Perl, при условии, что файл достаточно мал:
perl -p00e 's/\n(?!\Z)/ /g' your_file
Это сработало для меня.
tr '\n' ' ' < file_with_new_line | sed 's/\ $//g' > file_with_space
trкоманда заменяет все символы новой строки пробелами, а ваша sedкоманда удаляет последний пробел. Это приводит к файлу без заключительного перевода строки, и поэтому это не то, о чем спрашивает вопрос. Кстати, нет смысла использовать int gв sedкоманде. Поскольку вы используете $, он может совпадать только в конце, gбессмысленно. Вам также не нужно выходить из пространства, `` тоже не имеет значения.
-sИ-dварианты , кажется , как для этого случая.