Re: bash のシェル変数の文字 列パタ ーンマッチングをする には?
河野真治 @ 琉球大学情報工学です。
In article <061030010415.M0101535@osabishi.ics.nara-wu.ac.jp>, nide@ics.nara-wu.ac.jp (NIDE Naoyuki) writes
> そりゃ乱暴な。でも、元記事の人の環境ならshがbashなことを仮定してもいいの
> かな。よく知りませんが…
またまた...今回は、bash と明記されているので、こだわる必要は
ないんですけどね。
珍しく man bash で見つかったけど、ここでRTFMというのは、
不粋だろうな。
> 但し、shoptはその行が構文解析されてから実行されるので、
>
> shopt -s extglob; [[ ababcdabx == *(ab|cd)x ]] && echo ok
>
> ではだめ。
知っている人は、「なるほど」と納得するわけなんだけど、bash
らしい、adhoc な拡張/実装ですね。僕だったら、hoge =~ "(ab|cd)*"
みたいな仕様にして逃げるだろうけど。
zsh だと、
setopt EXTENDED_GLOB
if [[ $foo = (a|an)' '(#b)(*)' '* ]]; then
print ${foo[$mbegin[1],$mend[1]]}
fi
などという例があるなぁ。default で入れておくか...
そういえば、zsh に移った理由の一つが [^a-z] が使えること
だったはず。その割りには使ってない。そんなものだ。
---
Shinji KONO @ Information Engineering, University of the Ryukyus
河野真治 @ 琉球大学工学部情報工学科
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735