Мне нужен скрипт, который вводит файл и отображает его содержимое с удалением разрывов строк - так сказать, «завернутый в слово».
Я пытался:
#!/bin/bash
find $HOME '$1' | while read line; do echo "${line}"; done
, но он просто ничего не возвращает.
Я нашел этот соответствующий ответ в stackoverflow:
https://stackoverflow.com/questions/1251999/sed-how-can-i-replace-a-newline-n
Самый быстрый способ - использовать tr:
tr '\n' ' ' </your/file
или для вашего примера:
cat `find $HOME '$1"` | tr '\n' ' '
Чтобы узнать больше о команде tr
, выполните Конечно, man tr
.
В способе stackoverflow есть способы сделать это с помощью sed (это был бы мой первый выбор, но sed очень ориентирован на строки и заставляет его не интерпретировать переносы строк, поскольку разделители полей неясны) и способ чтения и bash, близко к вашему первоначальному подходу.