Попробуйте перл:
perl -pe '
s{(READ block) (\d+) (on xvda3.*$)}
{join " ",$1, $2, $3, qx(./showblock $2)}e
' sample.dmesg.log
Чтобы удалить завершающую новую строку, вы можете сделать
{ chomp($out = qx(./showblock $2)); join " ", $1, $2, $3, $out }e
Я только что узнал, что:FSSIZE
был неправильным флагом. Вместо этого мне нужно было просто SIZE
.
lsblk --output NAME,FSTYPE,LABEL,UUID,SIZE,FSAVAIL,FSUSE%,MOUNTPOINT
дает:
NAME FSTYPE LABEL UUID SIZE FSAVAIL FSUSE% MOUNTPOINT
...
nvme0n1 931,5G
├─nvme0n1p1 ntfs Recovery A6F8B146F8B11611 450M
├─nvme0n1p2 vfat B6B1-83C2 99M 62,5M 34% /boot/efi
├─nvme0n1p3 16M
├─nvme0n1p4 ntfs EA9CC7CA9CC7900D 194,3G 77,9G 60% /media/az/EA9CC7CA9CC7900D
├─nvme0n1p5 ntfs 8EFE5BB7FE5B9675 517M
├─nvme0n1p6 ext4 30c2e908-17b9-47a2-b68a-5a0df3f62f8e 726,4G 513,5G 23% /
└─nvme0n1p7 swap 7c366bb0-c008-4285-8a67-1acae6e25d2d 7,5G [SWAP]