タグ

2015年10月24日のブックマーク (3件)

  • 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 が激しく便利なのでメモ - おともだちティータイム
    tk60qt
    tk60qt 2015/10/24
    何も考えないデータ並列に便利〜〜
  • findとxargsの基本的な使い方 -- ぺけみさお

    findとxargsは、手作業ならうんざりするような作業であっても、コマンドライン一発で済ませられる可能性を秘めている。 このエントリーではfindとxargsの基的な使い方をtipsとしてまとめる。 findによる検索findはあるディレクトリ以下の条件にマッチしたパスを検索し一覧を出力するコマンドだ。 最初の引数には検索対象のパスを与える。以下の例ではカレントディレクトリ以下のファイルとディレクトリが一覧される。 findに条件を与えれば、条件にマッチしたパスのみ出力させることができる。 条件には色々書くことができるが、一番良く使われるのは-nameによる名前の指定だろう。 名前の指定にはワイルドカードを使う。以下の例は.rbで終わるパスのみを出力させる。

  • 指定ディレクトリ配下のファイルを列挙する - うなの日記

    「ls」じゃなくて「find」の結果をforで回せばOK。 #!/bin/sh # 第一引数で指定したディレクトリ配下のテキストファイルを一覧表示する。 for file in `find $1 -name "*.txt"`; do echo "$file" done 実行結果です。 $ ./file-list.sh ./ ./b.txt ./c.txt ./a.txt ./test/b.txt ./test/a.txt

    指定ディレクトリ配下のファイルを列挙する - うなの日記
    tk60qt
    tk60qt 2015/10/24