タグ xargs
人気順 5 users 10 users 100 users 500 users 1000 usersPOSIX 準拠のシェルスクリプトでは find | xargs よりも find -exec {} + を使うべき! - Qiita
はじめに find の出力を xargs にパイプで渡すというのはよく見かける使い方ですが、find -print0 | xargs -0 が使えない POSIX 準拠のシェルスクリプトでは find -exec {} + を使った方が良いです。安全かつ十分に速いからです。よく見かける -exec {} ; ではなく -exec {} + ですので間違えないようにしてください。多... 続きを読む
POSIX準拠シェルスクリプトでマルチコアの能力を活用する並列処理の実装(最大並列数あり、GNU Parallel, xargsなし) - Qiita
#!/bin/sh set -eu [ "${ZSH_VERSION:-}" ] && setopt shwordsplit MAX_PROC=4 # 最大並列数 interrupt() { trap '' TERM kill -TERM 0 exit 130 } terminate() { trap '' TERM kill -TERM 0 exit 143 } # trap : CONT trap interrupt INT trap terminate TERM func() { echo "sleep $1" sleep "$1" # kill -CONT $$ } p... 続きを読む
最近覚えたシェルスクリプトの小ネタ - カメニッキ
2016 - 06 - 28 最近覚えたシェルスクリプトの小ネタ シェルスクリプト 神から教えていただいた。忘れないように書いとく xargsでfunctionを叩く 下の例だと find xxxx | xargs cp xxxx ってかけば良さそうでイマイチだけど、もっと複雑な処理やらせたいときに。 前はこう書いてた #!/bin/bash for x in ` find /var/www -n... 続きを読む
xargs -P が激しく便利なのでメモ - おともだち革命
18:48 | xargs の -P オプションを使うとプロセスを複数起動して処理を並列に行なうことが出来る。 例例えば、 1 万枚の JPEG 画像を全て 800x800 に収まるように効率良くリサイズしたい。まず私はこのようなコマンドを考えた。 convert --geometry 800x800 *.jpg しかし zsh に怒られた。 zsh: argument list too long... 続きを読む
xargs -P が激しく便利なのでメモ - おともだち革命
18:48 | xargs の -P オプションを使うとプロセスを複数起動して処理を並列に行なうことが出来る。 例例えば、 1 万枚の JPEG 画像を全て 800x800 に収まるように効率良くリサイズしたい。まず私はこのようなコマンドを考えた。 convert --geometry 800x800 *.jpg しかし zsh に怒られた。 zsh: argument list too long... 続きを読む
xargs を使ってカジュアルに並列処理 - tagomorisのメモ置き場
シェルからでも重い処理というのはちょこちょこあって、例えば超デカいログファイルを移動して圧縮したりというお仕事は世界中のあらゆる場所で毎日行われていたりする。コマンドラインからでも大量の圧縮済みログファイルをいっぺんに展開したい、とか。あるディレクトリ以下に存在するたくさんのファイルを(圧縮済みのものを除いて)全部 bzip2 圧縮したい!と思ったら、とりあえずさくっと次のようにコマンドラインで叩... 続きを読む
技術メモ帳 - xargsコマンドを使って指定したコマンドを並列実行させる
あまり知られていないが、GNUのxargsコマンドには、プロセスの最大数を設定できるオプションというのが用意されている。コレを使って、プロセスを並列実行させてみよう。 xargs --max-procs=MAX-PROCS -P MAX-PROCS command MAX-PROCSに数字を指定すると、最大で、その数だけ command プロセスを生成する。デフォルトは、1プロセスだけになっている... 続きを読む