英文を読むときに,単語帳を作ります。
1 文字飾りのない,文字ファイル(text file)を作る。
ソフトウェアによっては,文字ファイル出力ができないものがあります。
そういう場合には,文字を複写し,貼付ける方法を取ることがあります。
貼付ける際に,対応する文字コードが違うと,文字化けすることがあります。
2 大文字を小文字に変換する。
固有名詞かどうかはひとまず気にせずに,綴りだけを識別したいので,大文字を小文字に変換します。
tr(translate characters)コマンドを使います。unix, linux, mac osxに標準同梱しています。
Windowsの場合はcygwinを導入します。
1) ファイル内の大文字・小文字を変換するには
2) 【 tr 】 文字を一括変換する
3) OS Xとかで"tr: Illegal byte sequence"とか怒られちゃう場合
1 tr [:upper:] [:lower:] T.txt
説明が出る。
2 tr [:upper:] [:lower:] t2.txt
tr: Illegal byte sequence
3 tr A-Z a-z t2.txt
4 LC_CTYPE=C tr -A-Z a-z t2.txt
tr: illegal option -- A
5 LC_TYPE=C tr A-Z a-z t2.txt
3. 不要な文字を除去しながら単語を計数
プログラミング言語AWK
プログラミング言語AWK (新紀元社情報工学シリーズ)
A. V. エイホ, P. J. ワインバーガー, B. W. カーニハン, Alfred V. Aho, Peter J. Weinberger, Brian W. Kernighan, 足立 高徳
新紀元社(2004/01)
値段:¥ 3,465
{
gsub(/[`'&%$-/.,:;!?^*_~=|@\\\#<>(){}0123456789\[\]"]/," ")
for (i=1;i<=NF;i++)
count[$i]++
}
END {for (w in count)
print w,count[w] | "sort -f"
}
wf.awkというファイルに保存。
$ awk -f wf.awk t2.txt
1) awk -f wf.awk t2.txt
awk: nonterminated character class [`'&%$-
source line number 2 source file wf.awk
context is
>>> gsub(/[`'&%$-/. <<< ,:;!?^*_~=|@\\\#<>(){}0123456789\[\]"]/," ")
2) /を削除(/.を削除とかいていたそれだと.が残る)
$ awk -f wf.awk t2.txt
$ sort: string comparison failed: Illegal byte sequence
$ sort: Set LC_ALL='C' to work around the problem.
3) LC_TYPE=C awk -f wf.awk t2.txt
4) more t2.txt
で,制御文字を見て,削るか変換する。
例えば,'が制御文字であれば,'に置換する。
"が制御文字の場合に"に空白を入れて置換する。
^Mがついた文字がある。
エディタで保存をMacintosh CR から
Windows CR LF
に変更して保存。