一括表示

− 野ざらし言 −

[4971] パターンにマッチした文字列を抽出

めざら 2022/08/26(Fri) 15:08
http://mezala.la.coocan.jp/
「ラジオドラマ資源」整備の必要に迫られて急造しました.
用途は,比較的大きめのファイルから,
パターンにマッチした文字列を抽出するというものです.
grepだと,行全体が抽出されてしまうので,
別の要素も混在するし,なにより後の編集が厄介だから.

= mtchptn.def = by H_ear
#if 0
パターンにマッチした文字列を抽出
#endif
* mad for vz!
1 ^\ "" ?.
	(TC==WC)?{ &m(6) . }		;オープン可能か確認
	(vw)??{ &m("No VWX !") . }	;VWX常駐を確認
	&a("事前検索必須です.実行します") (r-1)?.	;確認
	mp[=2, RX[+,			;正規表現,検索モード
	Ei[-, Ej[-,			;インデント不可
;	ps[=pa,
	mb-,				;ブロックモード解除

	; ---- set pattern
	mx[+, #F &Cr mx],		;パターン設定
	(r|1+1)??>z			;[ESC]/[CR]

	; ---- open a file for output ----
	#R "nul" #m (s)?'y' #W		;出力先をオープン

 :l	; ---- main loop ----
	&m("[Shift]長押しで中断できます. $
	経過 ==>%10lu / %lu",wa..57,wa..58,wa..39,wa..40)
	#c				;カーソル位置以降が対象
	(r||ks&1)?>z			;[Shift]長押しで中断

	; ---- マッチした文字列を取得・出力
	cx-, ax=$E908, bx='VW', &i($2F)	;マッチした文字列長の取得
	#b cp+=cx, #k			;マッチした文字列を取得
	#W #i #m &d &s #W		;作業経過を見せる
	>l

 :z	; ---- exit ----
;	ps],
	Ej], Ei],
	RX], mp],
	#W
	&m("終了しました. Sort/Uniq を実施してください.")
	&d #] .
*

[Variables]
	ax bx cx
[Buffers]
	ps (初期設定では事前検索の履歴を使えるので自前バッファ等不使用)
	(pa	as ps) 初期無効
[History]
2022/08/26 0.10 テスト初版
[Notes]
処理対象は敢えてカーソル以降としたのは,そういうファイルだから.(謎)
途中経過が百分率表示でないのは,対象ファイルのサイズを明示したいため.


俳優さんの表記はネットで調べればかなり分かりますが,スタッフさんは
公式サイトやFM誌などに掲載されるだけなので,過去のものは調べ難い.
そのため手元のデータから抽出してデータベースを作る必要があります.

要素単位でカンマやピリオドの区切りさえあれば,
[^,.]+:演出
…のようなパターンにより,まとめて抽出できます.

[4974] Re: パターンにマッチした文字列を抽出

文太 2022/08/26(Fri) 20:31
[4971]へのコメント
めざらさん

 ほほう、文字(列)グレップ! いいですね!

; ---- マッチした文字列を取得・出力
	cx-, ax=$E908, bx='VW', &i($2F)	;マッチした文字列長の取得
	#b cp+=cx, #k			;マッチした文字列を取得
	#W #i #m &d &s #W		;作業経過を見せる
	>l

 使う場面、あるかな? コレクションさせていただきます。
 いただきます。m(__)m
 うん、こういうフィルター的マクロ、好き。直接編集されると(insfile.def的に)
うーん、別のツール使いたい、元のファイルに元のまま残っていて欲しい、とか
思うんですよねぇ。

 空打ちキャンセルとか、さすがです!

[4976] izgrep (文字グレップ)

文太 2022/08/26(Fri) 22:53
[4974]へのコメント
 手元の izgrep.doc の冒頭には、以下のようなメモが。
 外からもやれますね。

--------------------------------------------
izgrep -g -m "<[0-9]+>"
文字グレップは、izgrep -g -m "注、[0-9]+" 対象ファイルのように使う。
izgrep -g -m "^[0-9][0-9]? " 対象ファイルのように使う。
--------------------------------------------

 "注、[0-9]+" というのは、明らかに翻訳書用でしょう。
 しばらくやってないけど、何かでやれたよなぁ、と。


 たしかsedみたいな機能が入っていた異色のgrepだったような……。

--------------------------------------------
-n: line No./ No auto print
           2つの意味を持つオプションである。
           (1)-s (sub/replace) が指定されている時
               デフォルト出力を抑制する。
               -n が無いときは、マッチしない行も出力するが
               -n の時は、マッチした行のみ出力する。

       sed "s/expr/str/g"    -> izgrep -sg expr str
       sed "s/expr/str/"     -> izgrep -s expr str
       sed -n "s/expr/str/p" -> izgrep -sn expr str
--------------------------------------------

 使ったことありませんが、これを思い出させてくれたことに感謝する日が
来るかもしれませんね。

[4980] Re: izgrep (文字グレップ)

めざら 2022/08/27(Sat) 11:25
[4976]へのコメント http://mezala.la.coocan.jp/
そういえば,izgrep ってありましたね。HP200LX に入れてました。
確か,あかべこさんが常用していたんじゃなかったかな。

当時は grep の機能の違いはよく知らなくて…いや,今も知りませんが…フラッシュメモリの肥やしというか,予備としてしか認識していませんでしたね。
もしかすると,FGALTS の人らが grep 毎の機能一覧とか作っていそうな気もしますけど,そんなに使いこなすほどの要求も持ち合わせていないので。


あ,文太さん! 結構使ってるじゃないですか!
小物マクロの住所録 2003.02
FGALDC/mes/15/20079 文太 WAEI.def 和英マクロ:和英辞郎をizgrepで引く
FGALDC/mes/15/20083 文太 WAEI.def v.1.1 ygrepとizgrepを使い分けて和英次郎を引く

で,izgrep をググったところ,現役の LXer のブログを発見。
http://we-love-200lx.cocolog-nifty.com/blog/
プロフィールがないため,どなたか分からないけれど FHPPC の方らしい。
まだ使えているLX個体があるとは,驚き。

[4982] 夏、熱い、とか

文太 2022/08/27(Sat) 16:51
[4980]へのコメント
めざらさん

>当時は grep の機能の違いはよく知らなくて
 そうなのかぁ。僕なんかよりデータベース的な資料を相手にすることが多いような気がするので、けっこう意外ですね。
 僕は、実用半分、遊び半分でしょう。
 dir して(allfilesのほうが楽なときが多い。bltもすごい)、ファイル名をゴニョゴニョして、ファイルを並べて環境だけ作るのが好きみたいで。

>あ,文太さん! 結構使ってるじゃないですか!
>小物マクロの住所録 2003.02
 こんなとこ、グレップするんだ、笑い。

 別に通ぶるつもりもないですが、cgrep, izgrep, ygrepはよく使いますね。
 パソコンに触れる喜び。主に遊んでいるとき。

>で,izgrep をググったところ,現役の LXer のブログを発見。
>まだ使えているLX個体があるとは,驚き。
 LXの人って本気で使うから、個体が寿命を迎えてしまうのでしょうね。モバがどれくらいまだ使われているか分かりませんけれど、僕のモバ、僕が死ぬまで死にそうにないですね。使わないから。ただ字が小さくて……。
 いつか夏に立川で焼肉をくったとき持って行ったDOSマシン(誰も興味を示さず、く、く、く。字が大きくてたいへん宜しい)、最近、動かしています。これは、僕の前に寿命を迎えそう。
 しかし、あのときも死ぬほど暑かったですね。今年は、たぶん、生まれて初めての最悪の酷暑だと思うけど。おかげで、野菜をかまう気になりません。ゴーヤが黄色くなっておる。ここから見えます。

[4978] Re^2: パターンにマッチした文字列を抽出

めざら 2022/08/27(Sat) 09:26
[4974]へのコメント http://mezala.la.coocan.jp/
>  使う場面、あるかな?

作成者も目の前の必要に迫られて,ですから。

うまいことパターンを合わせられれば,特定用途の辞書用文字列とか抽出できるかもしれませんね。元ファイルの中身(書式)とパターン次第ですけど。

[4975] Re: パターンにマッチした文字列を抽出

としき 2022/08/26(Fri) 22:32
[4971]へのコメント http://toshiki.la.coocan.jp/
> 「ラジオドラマ資源」整備の必要に迫られて急造しました.

こういうのって、大変ですよね。
最近、ニュースで流れていたのが、過去百年分の日本アニメのデータベースがやっとできあがりました、とか、大阪空襲の死亡者名簿はもともと存在しなくて、周辺のお寺の過去帳からまとめた、なんていうのがありました。悲しい事に、こういうあまりネットで話題にならない情報って、一部の陰謀論者というかマスコミ嫌いの人たちにはリーチしないんですよね。でも、ラジオドラマ資源もそうですが、必要な人、必要なときには重要な情報。
ま、仕方ないのかもしれません。

> &m("[Shift]長押しで中断できます. $
> (r||ks&1)?>z ;[Shift]長押しで中断

こういうの、いいですね。

> &m("終了しました. Sort/Uniq を実施してください.")

自動でSort/Uniqしないのは、何かわけがあるのですか?

[4979] Re^2: パターンにマッチした文字列を抽出

めざら 2022/08/27(Sat) 10:18
[4975]へのコメント http://mezala.la.coocan.jp/
> こういうあまりネットで話題にならない情報って、

先行事例があるからではないかしら。
国立国会図書館の「リサーチ・ナビ」に既に掲載されている「アニメデータベース」(.lain.gr.jp)というのがあります。内容としては競合するのでしょうかね。ただ,こちらの .lain というのは広告がやたら煩わしく,どうにかならんのかい!と思ったりしていたので,新しいデータベースが出来たのは歓迎したいところです。リサーチ・ナビの人文リンク「テレビ・ラジオ」部門(https://rnavi.ndl.go.jp/jp/guides/link_tvradio.html)にも近ぢか登録されるのではないでしょうか,まぁ,「アニメ大全」というタイトルにふさわしい内容になってほしいですね。
ちなみに,上記の部門に「ラジオドラマ資源」も登録されています。

> 一部の陰謀論者というかマスコミ嫌いの人たちにはリーチしない

こちらは具体的にどういうことかピンときませんでしたが……。
わたしは常々多くの国に「闇の勢力」とか「首領(ドン)」なんかが居て,その国を陰から動かしている…みたいなことを本気で想像しているので,陰謀論に扇動されやすいかもしれません。当代の首相なんかも財界の操り人形でしょ。

> 自動でSort/Uniqしないのは、何かわけがあるのですか?

わたしは単機能ツールを順に組み合わせてゆくのが好きだからかも。
処理途中を確認しないと気がすまないというか,過程を念の為確認したいというか,最初の出力結果が所期のものでなければ後の処理は無駄になるのではないかという【疑り深い】性格だからではないでしょうか。

[4984] Re^3: パターンにマッチした文字列を抽出

としき 2022/08/27(Sat) 23:26
[4979]へのコメント http://toshiki.la.coocan.jp/
> > 自動でSort/Uniqしないのは、何かわけがあるのですか?
> わたしは単機能ツールを順に組み合わせてゆくのが好きだからかも。
> 処理途中を確認しないと気がすまないというか,過程を念の為確認したいというか,最初の出力結果が所期のものでなければ後の処理は無駄になるのではないかという【疑り深い】性格だからではないでしょうか。

あぁ、なるほど。
なんとなくわかります。
そういう意味では、私も表示は多いほうが好きというか。
いわゆるverboseモードを好んで使う、という感じ。
でも、私、完成形にもって来る時は、なぜか表示を少なくしたり自動で動かしたり、というようにすることもあって。
これ、自分でも境界があんまりよくわかっていない。
暇があれば自己分析したいところ。


> > 一部の陰謀論者というかマスコミ嫌いの人たちにはリーチしない
> こちらは具体的にどういうことかピンときませんでしたが……。

うん、思いっきり誤解を招く言動をしていますね。
以下、かなり婉曲な表現になります。
アメリカの例で言うと、FOXニュースを主に見ている人たちとCNNニュースを主に見ている人たち、お互いに互いを陰謀論者だとみなしているようなところがあるらしい。ただ、まぁ、いずれもマスコミには触れているわけですよ。
私の言っている「一部の人たち」というのは、いずれのマスコミにも触れず、ニュースはもっぱらFacebookなどのSNSなどで入手する人たちのこと。こういう人たちには、いわゆるマスコミが丹念に拾った情報に触れることが少ない、ということ。ネットでバズった情報ならキャッチするのだけど。ということを言いたかったのでした。

ちなみに私の場合、「陰謀はあるか?」と問われれば自信を持って「ある」と答えます。だけど、「お前は陰謀論者か?」と問われた場合「否」と答えますが、この答えにはあまり自信がない。

なお、陰謀論のほうは、ちょっといろいろ思うところもありまして。
そのうち、うちの板塀のほうに書いてみたいと思っているのですが、うまくまとまるかどうか。早くても2〜3週間後、ということは常識的には2〜3ヵ月後になるんだろうなぁ。2〜3年後になったりして。

↑ このページの先頭