У меня есть файл с именем домен , который содержит несколько доменов. Например:
google.com
facebook.com
...
yahoo.com
И у меня есть еще один файл с именем site , который содержит URL-адреса и номера некоторых сайтов. Например:
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
в регулярном выражении?
Затем, поскольку я новичок в написании сценария
Есть ли лучший способ решить мою проблему?