Linux
如何用單/雙引號 (‘or’) 包裝 command1 返回字元串以提供給下一個 command2?
比如我想用mplayer播放幾個dir的音樂,在bash中這樣輸入:
$ find ‘./l_music/La Scala Concert 03 03 03’ ‘./l_music/Echoes The Einaudi Collection’ ‘./l_music/Ludovico Einaudi - 皇家阿爾伯特音樂廳音樂會
$$ 2 CD $$(2010)’-名稱’*.mp3’ | xargs 播放器 嗯,你知道,find 命令返迴路徑,哪個dir 和file 總是有空格,pipe right 命令mplayer 不接受那些mp3 路徑。
我認為如果用單引號/雙引號('or")將查找返回字元串包裝以提供給mplayer,問題將得到解決。
但是我該如何解決這個問題只使用 bash 命令,不要使用 bash 或 perl 腳本,同時可以給我一個 perl 行命令使用 Perl 命令行選項。
使用find
-print0
中的選項,它將使用空字元而不是空格來分隔文件名。在xargs use
-0
which 告訴它它將作為輸入接收的文件名由空值分隔。您的範例命令將變為:
find './l_music/La Scala Concert 03 03 03' './l_music/Echoes The Einaudi Collection' './l_music/Ludovico Einaudi - The Royal Albert Hall Concert [2 CD] (2010)' -name '*.mp3' -print0 | xargs -0 mplayer