たいちょーの雑記

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

シェル芸160ノック23

9月末に発売されたシェル芸本の続きです。むずかしい

gihyo.jp

前回はこちら

xztaityozx.hatenablog.com

問題121

$ (strace seq 1e7 | head) |& grep -oPe '"[^"]+"' | grep /
"/usr/bin/seq"
"/etc/ld.so.preload"
"/etc/ld.so.cache"
"/lib/x86_64-linux-gnu/libc.so.6"
"/usr/lib/locale/locale-archive"
"/usr/share/locale/locale.alias"
"/usr/lib/locale/C.UTF-8/LC_IDENTIFICATION"
"/usr/lib/x86_64-linux-gnu/gconv/gconv-modules.cache"
"/usr/lib/locale/C.UTF-8/LC_MEASUREMENT"
"/usr/lib/locale/C.UTF-8/LC_TELEPHONE"
"/usr/lib/locale/C.UTF-8/LC_ADDRESS"
"/usr/lib/locale/C.UTF-8/LC_NAME"
"/usr/lib/locale/C.UTF-8/LC_PAPER"
"/usr/lib/locale/C.UTF-8/LC_MESSAGES"
"/usr/lib/locale/C.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES"
"/usr/lib/locale/C.UTF-8/LC_MONETARY"
"/usr/lib/locale/C.UTF-8/LC_COLLATE"
"/usr/lib/locale/C.UTF-8/LC_TIME"
"/usr/lib/locale/C.UTF-8/LC_NUMERIC"
"/usr/lib/locale/C.UTF-8/LC_CTYPE"

問題122

$ strace xargs -n1 < qdata/122/words|&grep -cPe "^clone"
3000

問題123

$ awk -F '[( ]' '$NF ~ /\<[0-9]+\>/{print FILENAME=="dir1_strace"?1:2,$1,$NF}' dir{1,2}_strace  | tr -d "<>" | awk '{a[$2]+=$1==1?-$3:$3}END{for(k in a) print k, a[k]*1000}' | sort -k2nr | head -n3
read 11879.7
openat 860.119
close 487.181

問題124

$ ip a | sel 2 | tr -d : | xargs
lo bond0 dummy0 eth0 tunl0@NONE sit0@NONE

selはデフォルトの区切り文字がスペース1つなのがこういう時ちょっと便利

問題125

壊していいLinuxが無かった

問題126

$ bash --version                                                                                      
GNU bash, version 5.0.17(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2019 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.