次へ: 5 一覧部分の取得 上へ: AWK による HTML ファイルの整形 その 2 前へ: 3 複数のデータファイルの処理 (PDF ファイル: awkwww2.pdf)


4 タイトルと日付の取得

この節では、タイトルと日付の取得を考えます。 これは、<b><font size=+1> という行がここにしかないようなので、 簡単のためにこれを利用してこの行を取得し、 その次の行も getline で取得することにします。 不要なタグ部分は、sub() で削除します。

タイトルと日付は最初のファイルから取得すればいいので、 ARGIND が 1 のときにだけ取得します。

  ##### タイトルや日付の取得 #####
  (ARGIND == 1 && $0 ~ /<b><font size=\+1>/){
      sub(/.*<b><font size=\+1>/,"")
      sub(/<\/font><\/b>.*/,"")
      title=$0
      getline
      sub(/.*<small> - /,"")
      sub(/<\/small>.*/,"")
      date=$0
  }
正規表現は / / で囲んで指定します。 + は正規表現では特別な意味 (1 回以上の繰り返し) を持ちますので、 \ でエスケープする必要があります。 また、.* という正規表現は、
. = 任意の 1 文字
.* = 任意の 1 文字の 0 文字以上の繰り返し
ということで、 すなわち「空文字列も含む任意の文字列」ということを意味しています。 よって、例えば sub(/<\/small>.*/,"") は、
</small> とその後につながる任意の文字列を、 空文字列 "" に変換
することを意味します。


次へ: 5 一覧部分の取得 上へ: AWK による HTML ファイルの整形 その 2 前へ: 3 複数のデータファイルの処理
竹野茂治@新潟工科大学
2006年9月5日