Что делает этот скрипт?

Другой ответ не основан на «поиске», а на bash -сначала используйте «длину родительского каталога», а затем сортируйте по альфа-каналу.

Ответ не совсем совпадает, так как в ваших результатах есть "charlie, bravo, delta", но мне интересно, должно ли это быть "bravo, charlie, delta" в альфа-порядке.

paths_breadth_first() {
  while IFS= read -r line; do
    dirn=${line%/*}         ## dirname(line)
    echo ${#dirn},$line     ## len(dirn),line
  done | sort -n | cut -d ',' -f 2-
}

Это производит

  $ cat /tmp/yy | paths_breadth_first 
  alpha
  alpha/bravo
  alpha/charlie
  alpha/delta
  alpha/charlie/alpha
  alpha/charlie/beta
  alpha/charlie/gamma
  alpha/charlie/phi
3
16.02.2020, 01:15
0 ответов

Теги

Похожие вопросы