Schimbare lsblk
ordinea de sortare
lsblk
sortează partițiile într-o ordine greu de urmat. O metodă de sortare fără a fi nevoie să scrieți un script bash sau un script python ar fi prima alegere.
O întrebare similară a fost pusă în Unix și Linux:
Cu toate acestea, răspunsul acolo pentru a utiliza -x NUME
parametrul de sortare face ca indentarea arborelui să dispară.
Ordinea de sortare curentă
Acesta este cum lsblk
afișează acum:
$ lsdrv
NUME FSTYPE ETICĂ MOUNTPOINT DIMENSIUNE MODEL
nvme0n1 477G Samsung SSD 960 PRO 512GB
âânvme0n1p9 swap [SWAP] 7.9G
âânvme0n1p7 ext4 Old_Ubuntu_16.04 /mnt/old 23.1G
âânvme0n1p5 ntfs 859M
âânvme0n1p3 16M
âânvme0n1p1 ntfs 450M
âânvme0n1p8 ntfs Shared_WSL+Linux /mnt/e 9G
âânvme0n1p10 ext4 Ubuntu_18.04 /mnt/clone 27.2G
âânvme0n1p6 ext4 New_Ubuntu_16.04 / 45.1G
âânvme0n1p4 ntfs NVMe_Win10 /mnt/c 363.2G
âânvme0n1p2 vfat /boot/efi 99M
mmcblk0 119.1G
ââmmcblk0p1 vfat SANDISK128 /media/rick/SANDISK128 119.1G
sr0 1024M DVD+/-RW DW316
sda 931.5G HGST HTS721010A9
ââsda4 ntfs WINRETOOLS 450M
ââsda2 128M
ââsda5 ntfs Imagine 11.4G
ââsda3 ntfs HGST_Win10 /mnt/d 919G
ââsda1 vfat ESP 500M
Ordinea de sortare propusă
Așa este lsblk
ar trebui sortat:
$ lsdrv
NUME FSTYPE ETICĂ MOUNTPOINT DIMENSIUNE MODEL
nvme0n1 477G Samsung SSD 960 PRO 512GB
âânvme0n1p1 ntfs 450M
âânvme0n1p2 vfat /boot/efi 99M
âânvme0n1p3 16M
âânvme0n1p4 ntfs NVMe_Win10 /mnt/c 363.2G
âânvme0n1p5 ntfs 859M
âânvme0n1p6 ext4 New_Ubuntu_16.04 / 45.1G
âânvme0n1p7 ext4 Old_Ubuntu_16.04 /mnt/old 23.1G
âânvme0n1p8 ntfs Shared_WSL+Linux /mnt/e 9G
âânvme0n1p9 swap [SWAP] 7.9G
âânvme0n1p10 ext4 Ubuntu_18.04 /mnt/clone 27.2G
mmcblk0 119.1G
ââmmcblk0p1 vfat SANDISK128 /media/rick/SANDISK128 119.1G
sr0 1024M DVD+/-RW DW316
sda 931.5G HGST HTS721010A9
ââsda1 vfat ESP 500M
ââsda2 128M
ââsda3 ntfs HGST_Win10 /mnt/d 919G
ââsda4 ntfs WINRETOOLS 450M
ââsda5 ntfs Imagine 11.4G
Notă: lsdrv
este un alias definit în ~/.bashrc
:
$ alias lsdrv
alias lsdrv='lsblk -o NAME,FSTYPE,LABEL,MOUNTPOINT,SIZE,MODEL |egrep -v "^buclă"'
rezumat
Complexitățile schimbării ordinii de sortare sunt:
- Doar partiții cu caractere de desen de linie
ââ
și ââ
sunt sortate sub unitățile lor.
- După sortarea partițiilor, ultima partiție poate avea nevoie
ââ
inlocuit cu ââ
.
- După sortarea partițiilor, poate fi nevoie de prima partiție până la a doua ultima partiție
ââ
inlocuit cu ââ
.
- Bătrânii "Călcâiul lui Ahile" a locurilor de sortare
10
după 1
, DE EXEMPLU. 1
atunci 10
atunci 2
. Într-adevăr 9
ar trebui să apară înainte 10
.
Ordinea de sortare a lsblk
a fost un spin de ani de zile. Sperăm că cineva are o soluție simplă cu utilitare GNU precum: awk
, sed
, grep
, unic
și/sau fel
, etc.