シェル芸160ノック23
9月末に発売されたシェル芸本の続きです。むずかしい
前回はこちら
問題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.