Bash
bash - 用新行替換空格
如何在輸入上用新行替換空格,例如:
/path/to/file /path/to/file2 /path/to/file3 /path/to/file4 /path/to/file5
ETC…要獲得以下內容:
/path/to/file /path/to/file2 /path/to/file3 /path/to/file4 /path/to/file5
筆記
我發布這個問題是為了幫助其他使用者,在我開始輸入這個問題之前,在 UNIX SE 上找到有用的答案並不容易。之後我發現了以下內容:
相關問題
使用
tr
命令echo "/path/to/file /path/to/file2 /path/to/file3 /path/to/file4 /path/to/file5"\ | tr " " "\n"
在http://www.unix.com/shell-programming-scripting/67831-replace-space-new-line.html上找到
在這種情況下,我會使用 printf:
printf '%s\n' /path/to/file /path/to/file2 /path/to/file3 /path/to/file4 /path/to/file5
如果其中一個路徑中有空格,您可以引用該文件路徑以防止它在空格上被拆分:
printf '%s\n' /path/to/file '/path/to/file with spaces' /path/to/another/file
正如現有答案所涵蓋的那樣,通常轉換文本
tr
是您最好的選擇。