Что не так с моим сценарием init.d [Ошибка сегментации]

paste (также стандартная простая утилита POSIX, например tr ) - ваш инструмент для этого.

Предположим, вы хотите, чтобы эти символы новой строки были заменены пробелом, а не просто удалены , как в вашем примере:

paste -d ' ' - - < file

Или:

paste -sd ' \n' file

Замените '' на ' \ 0 ', если вы действительно хотите их удалить.

Чтобы заменить 2 из 3:

paste -sd '  \n' file

1 из 3, начиная со второго:

paste -sd '\n \n' file

И так далее.

Еще одна хорошая вещь с пастой - это то, что она не оставляет строку незавершенной. Например, если вы удалите каждую новую строку в файле (как с tr -d '\ n' или tr '\ n' '' ]), вы в конечном итоге останетесь без строки, так как строки должны заканчиваться символом новой строки. Поэтому обычно лучше использовать для этого paste (как в paste -sd '\ 0' file или paste -sd '' file ), который добавит этот завершающий символ новой строки, необходимый для правильного текста.

0
09.03.2015, 04:02
0 ответов

Теги

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