ファイル名にスペースがある「xargs」

ファイル名にスペースがある「xargs」

頑張る画像以外のファイルのみを一覧表示、最新の500個のファイルのみを検索します。だから私は走る

ls -t | head -500 | file | grep -v 'image'

正しくありません。ヘルプメッセージが表示されます。それに変える

ls -t | head -500 | xargs file | grep -v 'image'

これで、目的の出力が表示されることがありますが、ファイル名にスペース(たとえば、など)が含まれている場合にPlutonian\ Nights\ -\ Sun\ Ra.mp3実行xargsされますfile Plutonianfile Nights


スペースを見るのにどのように役立つか、xargs私が達成したいことを達成できますか?

ベストアンサー1

を使用すると、xargs次のことができます。

find . -type f -print0 | xargs -0 file | grep -v 'image' 

ところで、xargsそれが昨日でした。今日も素敵な子供たちが使っていますparallel。並列性を使用すると、次のようになります。

find . -type f | parallel file | grep -v 'image'

望むより。 -print0 と -0 は使用されません。parallel本当にスマートなものそのものです。

修正する

最新の 500 ファイルのみを一覧表示するには、次のコマンドを使用します。

ls -1t | head -500 | parallel file {} | grep -v image

重要

パラレルプログラムが古く、上記の構文が機能しない場合は、ここの指示に従ってパラレルプログラムの新しいバージョンをインストールしてください。http://www.gnu.org/software/parallel/parallel_tutorial.html

おすすめ記事