タグ

xargsに関するgmdualis479のブックマーク (2)

  • xargs コマンド | コマンドの使い方(Linux) | hydroculのメモ

    xargs コマンド 2015/05/13 ファイル名の一覧を標準入力から受け取って、そのファイル一覧を任意のコマンドに引数として渡すコマンド。ファイル一覧でなくてもなんでもよい。 わかりづらいので、例として、カレントディレクトリの配下にある拡張子が .txt のファイルをすべて削除したいとする。 まずはfindコマンドでリストアップする。 $ find . -name "*.txt" この結果が以下のようだったとする。 foo.txt sub/bar.txt これらを削除するには $ rm foo.txt sub/bar.txt を実行すればよいが、findの結果が大量にある場合はrmコマンドを手で書くのは手間なので、 findの結果をそのままrmに渡したい。rmコマンドが標準入力からファイル名を受け取ってくれるならパイプでつなぐだけだが、残念ながらrmにはパラメータで渡す必要がある。こ

  • xargs -P が激しく便利なのでメモ - おともだちティータイム

    xargs の -P オプションを使うとプロセスを複数起動して処理を並列に行なうことが出来る。 例 例えば、 1 万枚の JPEG 画像を全て 800x800 に収まるように効率良くリサイズしたい。 まず私はこのようなコマンドを考えた。 convert --geometry 800x800 *.jpg しかし zsh に怒られた。 zsh: argument list too long: convert 引数が全て展開されるためこのような事が起きる。 私は xargs を使って処理することを思い付いた。 ls | xargs -I{} convert --geometry 800x800 {} c_{} 処理は行なわれるが非常に遅い。 しかも CPU を全く使っていないことが分かり、私は処理を並列的に行なう事を考えた。 そこで xargs の -P オプションの出番である。 P の後に並列

    xargs -P が激しく便利なのでメモ - おともだちティータイム
  • 1