bash - replace space with new line
Use the tr
command
echo "/path/to/file /path/to/file2 /path/to/file3 /path/to/file4 /path/to/file5"\
| tr " " "\n"
Found on http://www.unix.com/shell-programming-scripting/67831-replace-space-new-line.html
In this case I would use printf:
printf '%s\n' /path/to/file /path/to/file2 /path/to/file3 /path/to/file4 /path/to/file5
If there are spaces within the one of the paths, you can quote that filepath in order to prevent it from being split on the spaces:
printf '%s\n' /path/to/file '/path/to/file with spaces' /path/to/another/file
To transform text in general, tr
is your best bet, as covered in an existing answer.
Be pragmatic, use sed!!
sed 's/\s\+/\n/g' file
The above says to substitute one or more whitespace characters (\s+) with newline (\n)
This is more or less:
'substitute /one space or more/ for /newline/ globally'