Potrzebuję skryptu, który wprowadza plik i echa jego zawartości z usuniętymi łamaniem linii - że tak powiem, „zawiniętym słowem”.
Próbowałem:
#!/bin/bash
find $HOME '$1' | while read line; do echo "${line}"; done
ale nic nie zwraca.
Potrzebuję skryptu, który wprowadza plik i echa jego zawartości z usuniętymi łamaniem linii - że tak powiem, „zawiniętym słowem”.
Próbowałem:
#!/bin/bash
find $HOME '$1' | while read line; do echo "${line}"; done
ale nic nie zwraca.
Odpowiedzi:
Spróbuj to zrobić:
echo $(cat $1)
echo `cat some_file.ext`
Znalazłem tę istotną odpowiedź w stosie przepływu:
/programming/1251999/sed-how-can-i-replace-a-newline-n
Najszybszym sposobem wydaje się użycie tr:
tr '\n' ' ' </your/file
lub na przykład:
cat `find $HOME '$1"` | tr '\n' ' '
Aby dowiedzieć się więcej o trpoleceniu, oczywiście man tr.
Anser Stackoverflow zawiera sposoby, aby to zrobić za pomocą sed (byłbym moim pierwszym wyborem, ale sed jest bardzo zorientowany na linie i sprawia, że nie interpretuje podziałów linii, ponieważ separatory pól są tajemne) oraz sposób używania read i bash, blisko twojego wstępne podejście.
bash,line,end,remove.