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.
Spróbuj to zrobić:
echo $(cat $1)
bash
,line
,end
,remove
.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:
lub na przykład:
Aby dowiedzieć się więcej o
tr
poleceniu, oczywiścieman 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.
źródło