たいちょーの雑記

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

シェル芸160ノック22

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

gihyo.jp

前回はこちら

xztaityozx.hatenablog.com

問題116

$ exa /dev/ -l | grep "^b" | awk '{print $NF,$2}'
loop0 7,0
loop1 7,1
loop2 7,2
loop3 7,3
loop4 7,4
loop5 7,5
loop6 7,6
loop7 7,7
ram0 1,0
ram1 1,1
ram2 1,2
ram3 1,3
ram4 1,4
ram5 1,5
ram6 1,6
ram7 1,7
ram8 1,8
ram9 1,9
ram10 1,10
ram11 1,11
ram12 1,12
ram13 1,13
ram14 1,14
ram15 1,15
sda 8,0
sdb 8,16

$ exa -l /sys/dev/block | sel -- 7 -1 | teip -f2 -- zsh -c "xargs -n1 -I@ basename @"
1:0 ram0
1:1 ram1
1:2 ram2
1:3 ram3
1:4 ram4
1:5 ram5
1:6 ram6
1:7 ram7
1:8 ram8
1:9 ram9
1:10 ram10
1:11 ram11
1:12 ram12
1:13 ram13
1:14 ram14
1:15 ram15
7:0 loop0
7:1 loop1
7:2 loop2
7:3 loop3
7:4 loop4
7:5 loop5
7:6 loop6
7:7 loop7
8:0 sda
8:16 sdb

問題117

$ b=$(lsusb | wc -l); while :; do a=$(lsusb | wc -l); [[ "$a" -gt "$b" ]] && echo "挿されました" || [[ "$a" -lt "$b" ]] && echo "抜かれました"; b=$a sleep 1s; done

lsusbの出力をエスパーしてます

問題118

$ ./hidoi.bash
5728

$ awk '$4==5728{print $1}' /proc/[0-9]*/stat | xargs -n1 -I@ ls /proc/@/fd/1 -l | sel -- -1
/home/xztaityozx/ghq/github.com/shellgei/shellgei160/qdata/118/5728
/tmp/tmp.IvE4RzXOKL
/home/xztaityozx/ghq/github.com/shellgei/shellgei160/qdata/118/1639576737.611781307

問題119

$ fd . /sys/firmware/memmap/ --max-depth=1 --type=d --exec paste {}/start {}/end {}/type | teip -f1,2 -- xargs -n1 printf "0x%016x\n" | awk '{$1=$1"-"$2;$2="";print}' | sort
0x0000000000000000-0x000000000009ffff  System RAM
0x00000000000e0000-0x00000000000e0fff  Reserved
0x0000000000100000-0x00000000001fffff  ACPI Tables
0x0000000000200000-0x00000000f7ffffff  System RAM
0x0000000100000000-0x0000000669ffffff  System RAM

問題120

$ cat qdata/120/enigma | base64 -d > hoge.gz && gunzip hoge.gz && mkdir tmp &&sudo mount -o loop -t msdos hoge ./tmp && ls ./tmp && sudo umount ./tmp && rm -r tmp hoge