Last active
August 29, 2015 14:13
-
-
Save greymd/a6933f2472b888a75014 to your computer and use it in GitHub Desktop.
南武線の駅の中で、快速→各停→快速 となっている不憫な並びの3駅を抽出するegisonシェル芸。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 南武線の駅の中で、快速→各停→快速 となっている不憫な並びの3駅を抽出するegisonシェル芸。 | |
curl -so- -L goo.gl/4Gl1BL | tr ',\n' '\t' | egison -F 1cs -m '(match-all-lambda (list something) [ <join _ <cons $x <cons ,"快速" <cons $y <cons ,"各停" <cons $z <cons ,"快速" >>>>>>> [x y z]] )' | |
# [Result] | |
# {["鹿島田" "平間" "向河原"] ["登戸" "中野島" "稲田堤"] ["稲田堤" "矢野口" "稲城長沼"]} | |
# | |
# 既存のgrep等による単純な文字列マッチでは難しいオーバーラップしたパターンをループなしで検出できる。 | |
# curlで習得する文字列には「稲田堤」はひとつしか含まれていないが、 | |
# 例では稲田堤がオーバーラップしている。 |
Egiさん、なるほど、コレクションではなく-sオプションをつかってタプルとして読ませればよかったんですね!私がやろうとして挫折したやり方でした……w
ありがとうございます!
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
面白い例ありがとうございます!
以下、同じことをするワンライナーを僕の期待している書き方に書き直してみました。
この場合、
-s
オプションを使ったほうが、より一般的なレコードに対応できます。