Linux

如何用單/雙引號 (‘or’) 包裝 command1 返回字元串以提供給下一個 command2?

  • September 27, 2012

比如我想用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 -0which 告訴它它將作為輸入接收的文件名由空值分隔。

您的範例命令將變為:

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

另請參閱:在查找結果上使用 xargs 時如何處理文件名中的空格?

引用自:https://serverfault.com/questions/432406