よその Amazon では取扱あるかなスクリプト (awk 版)

元ネタはよそのAmazonでは取扱あるかなスクリプトなのですが、awk 的には Amazon の URL を短くするところよりも re-interval の例として gawk に移植してみました。

#! /usr/bin/gawk -f
# short_amazon.awk

BEGIN {
    FS = "/";
    print "各国のAmazonで取扱がない商品もあります。すみません。";
}

{
    for (i = 1; i <= NF; i++) {
        if ($i ~ /^[0-9A-Z]{10,13}$/) {
            asin = $i;
        }
    }
    print "+--------------------------------------------";
    print "  アメリカ  http://amazon.com/dp/" asin;
    print "  イギリス  http://amazon.co.uk/dp/" asin;
    print "  フランス  http://amazon.fr/dp/" asin;
    print "  カナダ    http://amazon.ca/dp/" asin;
    print "  ドイツ    http://amazon.de/dp/" asin;
    print "  日本      http://amazon.jp/dp/" asin;
}

gawk では re-interval を用いるにはコマンドライン引数で指定する必要があります。

$ gawk --re-interval -f short_amazon.awk short_amazon.txt
各国のAmazonで取扱がない商品もあります。すみません。
+--------------------------------------------
  アメリカ  http://amazon.com/dp/B000IAZ97G
  イギリス  http://amazon.co.uk/dp/B000IAZ97G
  フランス  http://amazon.fr/dp/B000IAZ97G
  カナダ    http://amazon.ca/dp/B000IAZ97G
  ドイツ    http://amazon.de/dp/B000IAZ97G
  日本      http://amazon.jp/dp/B000IAZ97G
+--------------------------------------------
  アメリカ  http://amazon.com/dp/B001AAZ4GE
  イギリス  http://amazon.co.uk/dp/B001AAZ4GE
  フランス  http://amazon.fr/dp/B001AAZ4GE
  カナダ    http://amazon.ca/dp/B001AAZ4GE
  ドイツ    http://amazon.de/dp/B001AAZ4GE
  日本      http://amazon.jp/dp/B001AAZ4GE
<snip>

このように gawk では正規表現は拡張されています。

tag_gawk.pngtag_gawk.png