$ ls *mp3 | xargs mplayer
Playing Lemon.
File not found: 'Lemon'
Playing Tree.mp3.
File not found: 'Tree.mp3'
Exiting... (End of file)
ファイル「Lemon Tree.mp3」にスペースが含まれているため、xargs はそれを 2 つのファイルと認識し、コマンドが失敗します。このようなファイル名で find + xargs を動作させることはできますか?
ベストアンサー1
このxargs
コマンドは、空白文字 (タブ、スペース、改行) を区切り文字として使用します。
-d
次のようなオプションを使用して、改行文字 ('\n') のみに絞り込むことができます。
ls *.mp3 | xargs -d '\n' mplayer
GNU xargs でのみ動作します。
MacOSの場合:
ls *.mp3 | tr \\n \\0 | xargs -0 mplayer
より単純で実用的に役立つアプローチ (ファイル名をさらに処理する必要がない場合):
mplayer *.mp3