タグ

xargsに関するatm_09_tdのブックマーク (8)

  • いますぐ実践! Linuxシステム管理

    「いますぐ実践! Linux システム管理」はこちらです。 メルマガの解除、バックナンバーなども、以下からどうぞ。 https://www.usupi.org/sysad/ (まぐまぐ ID:149633) その他、作者に関するページは、概ね以下にございます。 https://www.usupi.org/kuri/ (まぐまぐ ID:126454) http://usupi.seesaa.net/ (栗日記ブログ) https://twitter.com/kuriking/ (twitter) https://facebook.com/kuriking3 (facebook) https://jp.pinterest.com/kuriking/pinterest) https://www.instagram.com/kuri_king_/ (instagram) [バックナンバーのトップへ

  • xargs のちょっとした Tips | Carpe Diem

    xargs を使うと手軽にコマンドを並列実行できて便利ですが、xargs を使ったいくつかのちょっとした Tips を紹介したいと思います。 基は、次のようなになります。 $ echo a"\n"b | xargs -t -P 2 -n 1 echo "command" echo command a command a echo command b command b この例だと、”command (a|b)” を表示するコマンドになりますが、echo をとることで任意のコマンドの末尾に自由にパラメータを渡すことができます。 末尾ではなく、コマンドの途中のパラメータを渡したいときは、次のようにするとできます。 $ echo -e a"\n"b | xargs -t -P 2 -n1 -I '{}' echo "command {} param2" echo command a param

  • xargs -P vs split -n r/ の性能比較 - ablog

    ちょっとだけ調べたのでメモ。 実行時間(/usr/bin/time -p) split は xargs より 2.6倍速い(xargs: 4.30秒、split: 1.66秒) xargs -P $ seq 10e3 | /usr/bin/time -p xargs -I{} -P4 sh -c '/bin/true {}' real 4.30 ★ user 4.37 sys 6.24 split -n r/ $ seq 10e3 | /usr/bin/time -p ./split -u -n r/4 --filter 'while read i; do /bin/true $i; done' real 1.66 ★ user 0.26 sys 0.89 システムコール所要時間・発行回数(strace -c) wait4 + clone システムコールで split は7.5倍速い(xa

    xargs -P vs split -n r/ の性能比較 - ablog
  • 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にはパラメータで渡す必要がある。こ

  • find/xargsを使ったファイル・ディレクトリ名の一括置換/一括作成コマンド一覧

    業務で楽するためのUNIXテクニック集 ファイル・ディレクトリ名の一括置換/一括作成 この記事は2008年~2009年頃に翔泳社で連載していた「業務で楽するためのUNIXテクニック集」の原です。 はじめに この連載では、UNIX系OSをコマンドライン上から効率よく利用するために知っておくべきテクニックや、便利な小技を紹介していきます。 今回は、第0回、第1回で紹介したfind/xargsコマンド、シェルの変数展開、制御構造を利用した「ファイル・ディレクトリ名の一括置換」に関するテクニックを紹介します。 また、「ファイルやディレクトリの一括作成方法」「シンボリックリンクの作成方法」に関するテクニックも紹介します。「ファイル名の置換」テクニックを検証する際の、コマンド確認環境構築にご利用ください。 関連記事 シェル制御構造と正規表現の基礎 grepを使った便利なコマンド一覧 find/xar

    find/xargsを使ったファイル・ディレクトリ名の一括置換/一括作成コマンド一覧
  • 特定ディレクトリ以下を除いた find をする方法 - ablog

    特定ディレクトリ以下を除いた find をする方法を聞かれたので、id:teramako さんの記事を紹介したら喜ばれました。 find . -name "foo" -prune -o -print ... できることならxargsを使え find /tmp -type f -exec rm -f {} \; じゃなくて find /tmp -type f -print0 | xargs -0 /usr/bin/rm 特定ディレクトリ以下を除いた find をする方法 - hogehoge @teramako

    特定ディレクトリ以下を除いた find をする方法 - ablog
  • 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 が激しく便利なのでメモ - おともだちティータイム
  • xargs を使ってカジュアルに並列処理 - たごもりすメモ

    シェルからでも重い処理というのはちょこちょこあって、例えば超デカいログファイルを移動して圧縮したりというお仕事は世界中のあらゆる場所で毎日行われていたりする。コマンドラインからでも大量の圧縮済みログファイルをいっぺんに展開したい、とか。 あるディレクトリ以下に存在するたくさんのファイルを(圧縮済みのものを除いて)全部 bzip2 圧縮したい!と思ったら、とりあえずさくっと次のようにコマンドラインで叩けばいい。 $ find . -not -name '*.bz2' | xargs bzip2 これで、まあそんなに問題なく効率的にbzip2圧縮ができる。だがしかし。 最近は複数コアのCPUが普通に転がってるし、あまつさえHyperThreadingが有効になってたりしてOSから見える論理CPU数がハンパない。普通に8とかある。その一方で複数コアを使用してくれるコマンドというのはあんまりなくて

    xargs を使ってカジュアルに並列処理 - たごもりすメモ
    atm_09_td
    atm_09_td 2011/05/13
    "なんと複数プロセスを並列に実行してくれるらしい" - これは知らなんだ。
  • 1