2016年2月10日水曜日

linux コマンドでディレクトリ毎の行数確認


├─a
│      chmod.c
│      od.c
│    
└─b
        cut.c
        paste.c

上のような感じでaとbのフォルダにファイルがある時、
aフォルダとbフォルダ毎のファイルの行数を調べたい時の話

1行でできたらおしゃれなのだろうけど、うまくいかなかったので、
shscriptとコマンドを組み合わせて作ってみた。

shscriptの内容は下のような感じ

hoge.sh
#!/bin/bash

for dir in "$@"
do
 echo $dir
        #nameで対象ファイルの絞り込み
 find $dir -type f -name \*.c -o -name \*.h|xargs wc -l|grep 合計
done

うえのシェルスクリプトをパスを通した場所に保存して、find で探したディレクトリを渡す。


find . -type d|xargs hoge.sh

実行結果はこんな感じ。

.
  3907 合計
./a
 2555 合計
./b
 1352 合計
ディレクトリ内にたくさんファイルがあると分割されてしまうけど、
取りえず我慢

0 件のコメント:

コメントを投稿