[vine-users:082016] Re: wc コマンド

長南洋一 cyoichi @ maple.ocn.ne.jp
2012年 7月 18日 (水) 17:34:02 JST


長南です。

たまたま grep の manpage の翻訳者なので、ちょっと追加させていだだきます。 

竹林孝浩 さんのメールより [vine-users:082015]
> 
> コマンドラインで man grep と入力するとgrepに関する説明は読めますし、
> そこに正規表現に関しても記述されています。

grep の正規表現の説明部分は、よくまとまっているでしょう。とてもよい
原文なのです。これで使用例があれば完璧な「正規表現入門」なのですが。

ただ、grep の manpage には、文字クラスについて "Their names are self
explanatory" としか書いてありません。そこで、man 7 regex をやって
みました。

  (alpa ... space などは) wctype(3) で定義されている文字クラスを表している。

とありました。man 3 wctype を実行すると、

  有効な名前の集合は現在のロケールの LC_CTYPE カテゴリに依存するが、
  以下の名前は全てのロケールで有効である。
  
    "alnum" - クラス化関数 isalnum(3) を実現する
      ...
    "space" - クラス化関数 isspace(3) を実現する

そこで、今度は man 3 isspace、

  isspace()
         空白文字かどうかを調べる。"C" ロケールか "POSIX" ロケールでは、
         空白文字とは、スペース、フォームフィード ('\f')、改行(new‐line)
         ('\n')、復帰(carriage  return) ('\r')、水平タブ ('\t')、垂直タブ
         ('\v') である。

だそうです。ここで、空白文字の原文は white-space  characters です。
ロケールが日本語の場合、全角空白の扱いはどうなるんでしょう。

-- 
長南洋一


vine-users メーリングリストの案内