*disclaimer
758408
テキスト処理
- テキスト処理
- Linuxコマンド 参考サイト
- 文字列の置き換え
- OpenNLP
- pdfファイルからテキストを抽出する。pdftotext
- American National Corpus におけるn-gram表現の抽出
- perlでxmlのタグの削除
- emacsで日付の挿入 .emacs.el - sugiura (2006年03月16日 13時05分14秒)
- perlのモジュールのインストール - sugiura (2006年01月15日 06時37分37秒)
- perlでの複数行にわたるコメントアウト - sugiura (2005年12月08日 03時10分00秒)
- emacs での取り消し - sugiura (2005年10月04日 15時47分48秒)
- サクラエディターを使ったテキスト処理 - sugiura (2005年09月17日 10時44分20秒)
- htmlファイルをテキストファイルに整形するには - sugiura (2005年08月11日 02時13分04秒)
- perlメモ - sugiura (2005年07月17日 02時35分43秒)
Linuxコマンド 参考サイト
https://hydrocul.github.io/wiki/commands/
文字列の置き換え
tr
- テキストファイル中の特定の文字を置き換える。
- 置き換える文字が、一文字ずつ順に対応しているところがポイント
- temp.parsedというファイル内の丸かっこを角かっこに置き換える
cat temp.parsed | tr '()' '[]'
OpenNLP
http://opennlp.sourceforge.net/projects.html
pdfファイルからテキストを抽出する。pdftotext
pdftotext -enc EUC-JP text.pdf
これで、text.txt というファイルが生成される。
American National Corpus におけるn-gram表現の抽出
1)本文のみのファイルをひとまとめにする
cat *trans.xml > sw20.all
2)タグの除去
perl -pe 's/<.+?>//g' sw20.all > sw20.txt
3)n-gram抽出プログラムをかける(Ngram.pmを応用)
freqNgram sw20.txt > sw20.ngram
4)結果
2 you know 980 2 it s 609 2 that s 488 2 don t 392 2 um hum 389 2 i think 270 3 i don t 240 2 i m 234 2 uh huh 224 2 a lot 218
- まとめてやると
cat *trans.xml | perl -pe 's/<.+?>//g' > file.txt freqNgram file.txt > file.ngram
freqNgramは引数にファイル名を要求するので、パイプ処理はできない。
perlでxmlのタグの削除
perl -pe 's/<[a-zA-Z0-9 ="\.\?\!\/\-:_]*>//g' file.xml
perl -pe 's/<[\w\s\d="\.\?\!\/\-:_]*>//g' file.xml
perl -pe 's/<.+?>//g' file.xml
繰り返しを表す+の後ろの?は「最短一致」
これを指定しないと「最長一致」でマッチしてしまう。
emacsで日付の挿入 .emacs.el - sugiura (2006年03月16日 13時05分14秒)
;; insert date (defun foo () (interactive) (insert (concat "["(format-time-string "%Y-%m-%d")"]("(format-time-string "%A")")"))) (define-key global-map "\C-cd" 'foo)
これで
[2006-03-16](木曜日)
とでる。
perlのモジュールのインストール - sugiura (2006年01月15日 06時37分37秒)
- http://search.cpan.org/ からダウンロード
- 解凍
- perl Makefile.PL
- make
- make test
- su
- make install
perlでの複数行にわたるコメントアウト - sugiura (2005年12月08日 03時10分00秒)
=pod
この部分をコメントアウト
=cut
emacs での取り消し - sugiura (2005年10月04日 15時47分48秒)
C-x u
サクラエディターを使ったテキスト処理 - sugiura (2005年09月17日 10時44分20秒)
http://sakura-editor.sourceforge.net/
- パッケージ版をダウンロードしてインストールする。
- 環境を設定する
- フォント
- メニューの「設定」から「フォント設定」:MS明朝の12ポイントがよい
- 行の折り返し
- メニューの「設定」から「現在のウィンドウ幅で折り返し」
- フォント
- 検索
- メニューの「検索」から「検索」
- メニューの「検索」から「Grep」
- ファイルが保存してないと「現在編集中のファイルから検索」が使えない。
- 正規表現が使える
- 置換
- メニューの「検索」から「置換」
- 「正規表現」を使うことでいろいろとテキスト処理ができる。
例:べたうちテキストを、一文一行にする。 「。」があったら改行すればよい。 「。」を「。改行」に置き換える。 「改行」は正規表現で「\r\n」(Windows上の場合) つまり、「。」を「。\r\n」に置き換える、とすればよい。
htmlファイルをテキストファイルに整形するには - sugiura (2005年08月11日 02時13分04秒)
lynx -dump URL
これで、もとのhtmlファイルの「見た目」を「一応」保った形で、テキストファイルが出力される。(URLは実際のhttp....を入れる)
あとは、これをリダイレクトすれば、様々なテキスト処理ができる。
- 例:単語数を数える。
lynx -dump URL | wc -w
- 例:Webページの変更をチェックする
lynx -dump URL > file1.txt lynx -dump URL > file2.txt diff file1.txt file2.txt
perlメモ - sugiura (2005年07月17日 02時35分43秒)
http://www.din.or.jp/~ohzaki/perl.htm
マルチバイトの文字のマッチングの処理方法が参考になった。
これを参考に、webGrep for NESSを修正。
「犬」を入れてもだいじょうぶ。
https://sugiura-ken.org/wiki/