В Linux, как бы вы отсортировали файл /etc /fstab по точке монтирования?
Я заинтересован в сортировке раздела fstab (независимо от того, смонтирован ли он в /x) таким образом, что родители монтируются перед его потомками
$ grep "[[:space:]]/x" fstab
/dev/mapper/lv1 /x/a/b ext4 defaults 0 0
/dev/mapper/lv2 /x/c ext4 defaults 0 0
/dev/mapper/lv3 /x ext4 defaults 0 0
/dev/mapper/lv4 /x/a ext4 defaults 0 0
"Очевидный" способ сделать это дает мне противоположный результат:
$ grep "[[:space:]]/x" fstab | sort fstab -k 2
/dev/mapper/lv1 /x/a/b ext4 defaults 0 0
/dev/mapper/lv4 /x/a ext4 defaults 0 0
/dev/mapper/lv2 /x/c ext4 defaults 0 0
/dev/mapper/lv3 /x ext4 defaults 0 0
Отмена других работ в некоторых случаях, но в других это не будет (не включая те, которые здесь, это может нарушить соглашения о неразглашении):
$ grep "[[:space:]]/x" fstab | sort fstab -k 2 -r
/dev/mapper/lv3 /x ext4 defaults 0 0
/dev/mapper/lv2 /x/c ext4 defaults 0 0
/dev/mapper/lv4 /x/a ext4 defaults 0 0
/dev/mapper/lv1 /x/a/b ext4 defaults 0 0
Я заметил, что это работает во всех других полях, кроме поля точки монтирования. Кроме того, я заметил, что если я отрублю все поля после точки монтирования, это будет работать как положено "
$ sort a -k 2
/dev/mapper/lv3 /x
/dev/mapper/lv4 /x/a
/dev/mapper/lv1 /x/a/b
/dev/mapper/lv2 /x/c
Как я могу достичь этого результата, не срезая поля?
Спасибо