LoginSignup
1
0

More than 1 year has passed since last update.

英文を読むときに,単語帳を作ります。

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

wf.awk
{ 
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
に変更して保存。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0