たいちょーの雑記

ぼくが3日に一度くらい雑記をかくところ

シェル芸160ノック5

9月末に発売されたシェル芸本の続きです。問題21をやっていたらzshexpnを読み込むことになってしましました。できることが多いですね。

gihyo.jp

前回はこちら

xztaityozx.hatenablog.com

問題21

$  (cd qdata/21; fd --type=f --exclude="dir_b/d*" . ./)
dir_a/file_1
dir_a/file_2
dir_b/file_1
dir_b/file_2
dir_c/dir_b/dir_a/file_1
dir_c/dir_b/file_1
dir_c/dir_b/file_2

github.com

zshのglobなら

$ ls -1 **/*~dir_b/dir_*/f*(.) | sort
dir_a/file_1
dir_a/file_2
dir_b/file_1
dir_b/file_2
dir_c/dir_b/dir_a/file_1
dir_c/dir_b/file_1
dir_c/dir_b/file_2

問題22

$ echo {www,login,blog,admin,unko,hoge,fuga}.{unko,unchi,super,unk}.{co.jp,com,net,xyz}

ダミー文字列と言われたときにunkoが先に出てくるの、シェル芸のせいだと思います。

問題23

# 端末1
$ echo $$
9
$ kill -19 $$

# 端末2
$ kill -18 9

問題24

$ function zshexit() { rm -rf ~/tmp/* }

問題25

$ sort | awk 'NR==1,NR==10'