Другой ответ не основан на «поиске», а на 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