2011年6月6日月曜日

ファイルの中から特定の文字列を持つファイルの検索

find . -type f -print0 | xargs -0 grep "$1" -n --binary-files=without-match
ついでに
そこから、[ファイル名:行番号]形式で重複なくファイル名の取得
awk '{ print $1 }' | sed -E 's/(.*:[0-9][0-9]*):.*$/\1/'
これをエディタで起動すると特定の行に飛んでくれる。つまり、

find . -type f -print0 | xargs -0 grep "$1" -n --binary-files=without-match | awk '{ print $1 }' | sed -E 's/(.*:[0-9][0-9]*):.*$/\1/' | xargs geany &

0 件のコメント:

コメントを投稿