Bash скрипт для удаления разрывов строк?

Мне нужен скрипт, который вводит файл и отображает его содержимое с удалением разрывов строк - так сказать, «завернутый в слово».

Я пытался:

#!/bin/bash
find $HOME '$1' | while read line; do echo "${line}"; done

, но он просто ничего не возвращает.

9
задан 16 December 2013 в 11:56

2 ответа

Я нашел этот соответствующий ответ в 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, близко к вашему первоначальному подходу.

0
ответ дан 16 December 2013 в 11:56

Попробуйте сделать это:

echo $(cat $1)
0
ответ дан 16 December 2013 в 11:56

Другие вопросы по тегам:

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