|
>文字数をカウントしてくれるようなマクロってありますか?
マクロへのコメントはすでに「ひろ」さんがされてますね。
私も以前にこれで実行して参りました。時間がかかる。
もし、文字数が多い物を計数されるなら、perlが早いです。
これで、200万漢字を計算させるとすぐに終わります。
以前にNIFTYで「水の歌」さんがご提示下さったものを、
ボケの私がいじったものですが、動きます。
#ココへの提示は不適当だっかも知れませんが、そこはご寛容に。
#! jperl/bin/perl
# usege:jperl count.pl inファイル名 > outファイル名
#-----^ count.pl ( date:98-04-07 time:02:14 ) -----------------< cut here
while (<>) {
next if /^B:/; # 先頭が B: から始まる行はスキップ
next if /^’/; # 先頭が ’ から始まる行はスキップ
next if /^'/; # 先頭が ' から始まる行はスキップ
next if /^V:/; # 先頭が V: から始まる行はスキップ
next if /^L:/; # 先頭が L: から始まる行はスキップ
next if /^P:/; # 先頭が P: から始まる行はスキップ
s/[ \t\n、・]+//g; # 数えない文字(空白など)を除く
# s/[ \t\n。、・]+//g; # 数えない文字(空白など)を除く
$bytes += length; # バイト数カウント
$chars += split //; # 文字数カウント
}
$zen = $bytes - $chars;
$han = $chars - $zen;
$str = $chars; #追加
# 1 while $str =~ s/(\d+)(\d\d\d)/$1,$2/; #追加
1 while $str =~ s/(\d)(\d{3})(?!\d)/$1,$2/g;
print "\n $ARGV\n
【文字数】\n \t半角: $han\n \t全角: $zen\n
\t合計字数: $str. 字\n " ;
#-----$ count.pl ( lines:10 ) ---------------------------------< cut here
# 激遅マシン (486DX4 100MHz) で,2.3M くらいのログファイルが,
#【文字数】
# 半角: 316313
# 全角: 911088
# 計: 1227401
#で,ちょうど 50秒でした。
# 水の歌
# NIFTY fwinal 3/19room
|
|