2016-04-29 14 views
0

ディレクトリに.shファイルがたくさんあります。私は、それぞれが呼び出すストアドプロシージャの数を調べる必要があります。それを行う最善の方法は何でしょうか?ディレクトリ内のすべての.shファイルをルーピングして、それぞれの特定のテキストを検索します。

私は本当にbashスクリプトで新しくなっているので、これは私には全く新しいものです。私がオンラインで見たものから、私は出発点をハッキングしましたが、それぞれのファイルをどのように開いて "something.sql"を見つけて、各ファイルに見つかった回数だけ出力するかはわかりません。

は、ここで私が持っているものだ:任意の助け

#!/bin/sh 

for i in 'ls *.sh' 
    echo -e "\n **** START****" 
    do 
     echo -e " \n Filename: $i" 
    done 
     echo -e "\n **** END ****" 
done 

ありがとう!

+3

このユースケースのための特別なコマンド 'grep'があります: "something.sql" * .sh' -c' grepを、詳細については、それを参照してください。 –

+0

あなたはsqlファイルへの参照のためのbashスクリプトを探していますか?または、ストアドプロシージャのSQLファイルを調べる必要がありますか?私はあなたが用語 "ストアドプロシージャ"を正しく使用しているかどうかわからない、または単に情報が不足しています。 – SaintHax

+0

@SaintHax私は、.shファイルを調べて、ストアドプロシージャへの参照に似たものを見つけるだけでよいのです。だから私はそのファイル名に向かって一度それを数えるだろうsp.sqlのようなもの。 2-3のストアドプロシージャを呼び出すと、そのファイル名には多くのカウントが格納されます。 – SS113

答えて

3

これを試してください:あなたを移動させる方法を

grep -nc sql *.sh

を参照してください。あなたがfile.SQLとしてsqlファイルの名前を付けた場合、-iを追加することもできます。または、すべてに.sql拡張子が付いている場合あなたが追加したコメントについて

grep -nc '\.sql' *.sh

、これを試してみてください。

for i in *.sh 
    grep -Hc '\.sql' $i 
    grep '\.sql' $i 
done 
+0

ありがとう!それは素晴らしい作品です! – SS113

関連する問題