grepと置換でKWICを作る

K2Editor編

1.調べたい文字列をgrepする。(簡単な正規表現なら利用可)

================================================================================
    GREP検索結果
    Grep("新聞紙","*.*",1,1,0,1,0,0)
================================================================================
G:\青空文庫\与謝野晶子\三面一体の生活へ.txt(98):私たちに取っては、こういう事実が新聞紙上に現れるごとに、言い知らぬ不快と公憤とを感じます。
G:\青空文庫\与謝野晶子\姑と嫁について.txt(10): 新聞紙の伝うる所に由れば、姑という人は明治以前の思想をそのままに、,(由=よ)
G:\青空文庫\与謝野晶子\姑と嫁について.txt(11):苦痛を忍んでいることを知っているので、姑に対する新聞紙の報道を誇張だとは思わない。

2.ファイル先頭のいらない部分(=====で囲まれたところ)を削除する。(あとで削除してもよい)

G:\青空文庫\与謝野晶子\三面一体の生活へ.txt(98):私たちに取っては、こういう事実が新聞紙上に現れるごとに、言い知らぬ不快と公憤とを感じます。
G:\青空文庫\与謝野晶子\姑と嫁について.txt(10): 新聞紙の伝うる所に由れば、姑という人は明治以前の思想をそのままに、,(由=よ)
G:\青空文庫\与謝野晶子\姑と嫁について.txt(11):苦痛を忍んでいることを知っているので、姑に対する新聞紙の報道を誇張だとは思わない。

3.行頭のいらない部分(G:\…\)を置換で削除する。*3

与謝野晶子\三面一体の生活へ.txt(98):私たちに取っては、こういう事実が新聞紙上に現れるごとに、言い知らぬ不快と公憤とを感じます。
与謝野晶子\姑と嫁について.txt(10): 新聞紙の伝うる所に由れば、姑という人は明治以前の思想をそのままに、,(由=よ)
与謝野晶子\姑と嫁について.txt(11):苦痛を忍んでいることを知っているので、姑に対する新聞紙の報道を誇張だとは思わない。

4.区切り(「,」)を入れる。
以下の置換では「ファイル先頭から」on、「正規表現」offにしておくこと。

次の置換では「ファイル先頭から」on、「正規表現」on。

与謝野晶子,三面一体の生活へ.txt,98,私たちに取っては、こういう事実が,新聞紙,上に現れるごとに、言い知らぬ不快と公憤とを感じます。
与謝野晶子,姑と嫁について.txt,10, ,新聞紙,の伝うる所に由れば、姑という人は明治以前の思想をそのままに、,(由=よ)
与謝野晶子,姑と嫁について.txt,11,苦痛を忍んでいることを知っているので、姑に対する,新聞紙,の報道を誇張だとは思わない。

5.「名前を付けて保存」で拡張子をcsvとして保存する。

6.表計算ソフト(Excel)で開く。

与謝野晶子三面一体の生活へ.txt98私たちに取っては、こういう事実が新聞紙上に現れるごとに、言い知らぬ不快と公憤とを感じます。
与謝野晶子姑と嫁について.txt10 新聞紙の伝うる所に由れば、姑という人は明治以前の思想をそのままに、(由=よ)
与謝野晶子姑と嫁について.txt11苦痛を忍んでいることを知っているので、姑に対する新聞紙の報道を誇張だとは思わない。
 

1行に複数出てきた場合の対処

タグ付き正規表現を使った置換で複数行にする。

  1. 正規表現onで次の置換を行う。
    • 検索語:(^[^,]+,[^,]+,[^,]+,)(.+)(,新聞紙,)([^,]+)(,新聞紙,.+)$
    • 置換する語:$1$2$3$4\n$1$4$5$6
  2. 1.をヒットしなくなくなるまで繰り返す。(1行に3個以上出てきたときのため)

*1 使っているパソコンによっては、この文字「\」が半角の「\」になっているかもしれませんが、これは半角の¥で入力してください(半角¥と半角\は同じコードx5Cで、和文フォントでは半角¥、欧文フォントでは半角\になります。)
*2 区切り文字「,」にマッチする正規表現やグループ化「()」を含むもの
*3 1.のgrepの時に「相対パス」をonにしていればこの作業は不要

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS