タグ

ブックマーク / d.hatena.ne.jp/lurker (2)

  • uniq -c で集計した数の合計値を算出する - 技術メモ帳

    よくある慣用句として、 sort | uniq -c | sort -nr | head というものがある。 ご存知の通り、重複する行の数をカウントし 高い順に並び替えてheadする。というものだ。 たとえば、前にも書いたが、 指定したディレクトリ以下のファイルの拡張子の統計を取る コマンドは以下のようになる。 #ibook find . -type f | egrep -o '[^.]+$' | sort | uniq -c | sort -nr | head 42 rb 18 php 15 txt 10 cxx 9 html 7 pl 6 log 6 c 5 yml 4 js このときの一番左側のカラムである、集計値を合計する。 #ibook ... | head | rev | cut -d' ' -f2 | rev | paste -d+ -s - | bc 122 集計値のあるカ

    sleepy_yoshi
    sleepy_yoshi 2010/11/26
    pasteの使い方がテクい
  • xargsコマンドを使って指定したコマンドを並列実行させる - 技術メモ帳

    あまり知られていないが、GNUのxargsコマンドには、 プロセスの最大数を設定できるオプションというのが用意されている。 コレを使って、プロセスを並列実行させてみよう。 xargs --max-procs=MAX-PROCS -P MAX-PROCS command MAX-PROCSに数字を指定すると、 最大で、その数だけ command プロセスを生成する。 デフォルトは、1プロセスだけになっている。 いくつか例を交えて説明する。 サンプルとして、以下のようにURLが行ごとに記述されたファイルを元に curlをxargsで並列実行して、HTMLデータを取得してみよう。 $ cat ./url_list.txt http://www.google.co.jp/ http://www.yahoo.co.jp/ http://b.hatena.ne.jp/ まず、普通にxargsを使ってc

  • 1