В поисках раковине-только [1] способ взять этот список директорий:Можно комбинировать сортировку glob с чередованием в zsh?
foo1.1
foo1.10
foo1.10/bar
foo1.2
foo1.3
foo1.3/bar
foo1.4
foo1.5
foo1.5/bar
foo1.6
foo1.7
foo1.8
foo1.9
foo2.1
И вернуть его отсортирован численно, с SUBDIRS появляется сразу после их родителей:
foo1.1
foo1.2
foo1.3
foo1.3/bar
foo1.4
foo1.5
foo1.5/bar
foo1.6
foo1.7
foo1.8
foo1.9
foo1.10
foo1.10/bar
foo2.1
(*|*/bar)(n)
отклоняется как плохой шаблон, в то время как */{,bar}(n)
расширяется до */(n) ~/bar(n)
, поэтому субдиры отображаются в конце.
[1] Мне нужно это, чтобы иметь возможность работать с самыми разными системами, поэтому использование -V или GNU sort -V или GNU-sort или не будет работать.