9月末に発売されたシェル芸本の続きです。
前回はこちら
問題37
$ cat qdata/37/diarydiary.txt | paste -sd '' | grep -oPe "(.+)\1" 私は私は シェル芸シェル芸 問題問題 すす いろいろ
問題38
$ cat qdata/38/this_is_it.txt | sed -E ':a;s/&/\&/g;/amp/b a;s/"/"/g' $ x='() { :;}; echo vulnerable' bash -c 'echo this is a test' vulnerable this is a test
sed
のラベル、初めて使ったまである
問題39
$ cat qdata/39/bash_description.txt | fmt -31 Bash is an sh-compatible command language interpreter that executes commands read from the standard input or from a file. Bash also incorporates useful features from the Korn and C shells (ksh and csh).
man
だとハイフネーションもできるのすごい
問題40
$ cat qdata/40/kanjinum.txt | sed -zE 's@\n(。|、)@\1\n@g' | teip -og '[一|四|五|七|十|百|千|兆]+' -- numconv 私が小学1年生の時は、 47都道府県の位置 と名前を全て覚えるくらいに 物覚えは良かったですが、 テストで100点満点を 取り、親から5000000000000000円を プレゼントされることは ありませんでした。
Onigurumaを使えば、\p{No}+
で漢数字はマッチできる気がしたけどできなかった
問題41
$ cat qdata/41/annotation.md | grep -oPe "\[\^about_.\]:?" | sort -u | sd '\]$' '] 目印' | sd ':$' ' 注釈' | sel 2 1 | uniq -f1 -u 目印 [^about_b] 注釈 [^about_d] 注釈 [^about_f]
uniq
ってフィールドの無視できたんですね~知らなかった。