Только с sed
, без любых каналов:
sed '1d;$d' file.txt
Примечание:
1
имейте в виду первую строкуd
средний удаляют;
разделитель для 2 команд$
имейте в виду последнюю строкуИнструмент pvs
показывает вывод в любых единицах, которые Вы любите.
$ pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 MMB lvm2 a-- 29.69G 6.91G
Я заметил это упоминание в странице справочника:
--units hHbBsSkKmMgGtTpPeE
All sizes are output in these units: (h)uman-readable, (b)ytes,
(s)ectors, (k)ilobytes, (m)egabytes, (g)igabytes,(t)erabytes,
(p)etabytes, (e)xabytes. Capitalise to use multiples of 1000 (S.I.)
instead of 1024. Can also specify custom units e.g. --units 3M
Можно переопределить единицы как так:
$ pvs --units m
PV VG Fmt Attr PSize PFree
/dev/sda2 vg_switchboard lvm2 a-- 37664.00m 0m
Ну, я сказал, что дам Вам один лайнер, таким образом, здесь это будет всего лишь, это действительно не очень хорошо. ответ @slm является, очевидно, способом пойти. Так или иначе острота ниже предполагает, что размер PV выражается в Кбайтах (который не всегда имеет место), и печатает гибибайт по умолчанию.
$ pvdisplay | perl -plne '$f=$1 if /Free PE\s*(\d+)/;
$s=$1 if /PE Size.*?(\d+)/;
print " Free Space\t\t",($s*$f)/1048576," GiB" if /UUID/'
/dev/cdrom: open failed: No medium found
--- Physical volume ---
PV Name /dev/sda2
VG Name MMB
PV Size 29.71 GB / not usable 19.77 MB
Allocatable yes
PE Size (KByte) 32768
Total PE 950
Free PE 221
Allocated PE 729
Free Space 6.90625 GiB
PV UUID QfZGfn-a3VV-IRkw-bV9g-6iqm-zXjN-y5e6gr
я знаю, что немного опоздал с ответом, но я думаю, что проще всего просто :(Те же параметры работают и для vgs ),
$ pvs -o name,free --units g --noheadings
/dev/sda2 0g
/dev/sdb 18.40g
/dev/sdc 5.00g
/dev/sdd 14.00g