いくつかのドメインを含む domainというファイルがあります。例えば:
google.com
facebook.com
...
yahoo.com
また、いくつかのサイトの URL と番号を含むsiteという別のファイルがあります。例えば:
image.google.com 10
map.google.com 8
...
photo.facebook.com 22
game.facebook.com 15
..
次に、各ドメインの URL 番号を数えます。例: google.comには10+8があります。そこで、次のような awk スクリプトを作成しました。
BEGIN{
while(getline dom < "./domain" > 0) {
domain[dom]=0;
}
for(dom in domain) {
while(getline < "./site" > 0) {
if($1 ~/$dom$) #if $1 end with $dom {
domain[dom]+=$2;
}
}
}
}
しかし、コードif($1 ~/$dom$)
は思い通りに実行されません。正規表現の変数 $dom を文字どおりに説明したからです。したがって、最初の質問は次のとおりです。
$dom
正規表現で変数を使用する方法はありますか?
それから、私はスクリプトを書くのが初めてなので
私が抱えている問題を解決するためのより良い方法はありますか?