xargs便利だが思い出せなかったというただの備忘録

March 23, 2025, 1:52 p.m.

#Linux  #Bash 

linuxのコマンドでlsにパイプしてそれぞれの結果ごとに何かコマンドを適用するときに使えるコマンドを思い出せないのですが、それはなんでしょうか?

思い出せないコマンドは、おそらく xargs コマンドです。 ls の出力をパイプで xargs に渡すことで、それぞれのファイル名やディレクトリ名を引数として、指定した別のコマンドを実行できます。

ということで、geminiが優秀だった。

やりたかったのは、たくさんある ogg ファイルを wav に変換すること。こんな感じでできる:

ls *.ogg | xargs -I {} sh -c 'ffmpeg -i {} "$(basename {} .ogg).wav"'

参考:[Shell] find, xargs コマンドのおとしあなを詳説してみる