У меня есть много файлов с переменными, такими как
{$var1} some text {$var2} some other text
Я бы хотел дать им awk, чтобы awk извлек их и дал такой результат:
file_name.htm - 8 : {$title}
file_name.htm - 10 : {$css_style}
file_name.htm - 33 : {$img_carte_image_02_over}
Это кусок пирога с этим сценарием awk:
#!/usr/bin/gawk -f
BEGIN { }
match($0, /({.*\$.+})/, tab) {
for (x=1; tab[x]; x++) {
print FILENAME" - "FNR" : "substr($0, tab[x, "start"], tab[x, "length"])
}
}
END { }
Я звоню так:
find website/ | grep -E '(html|htm)$' | xargs ./myh.sh | more
Все работает нормально, за исключением случаев, когда переменные кратны в одной строке. В этом случае я получаю:
file_name.htm - 59 : {$var1}<br/>{$var2}
тогда как я хочу:
file_name.htm - 59 : {$var1}
file_name.htm - 59 : {$var2}
Есть идеи, как я мог / должен сделать?
Конечно, если у вас есть другое решение (с помощью sed или чего-то еще), это нормально для меня!
Большое спасибо!