У меня есть куча каталогов, каждая из которых содержит кучу файлов. Обычно я могу перечислить все файлы с ls */*.*
но это всегда перечисляет их в алфавитном порядке в каталогах, затем в алфавитном порядке в каждом каталоге Так что он всегда будет выводить
dir1 / file1.foo
dir1 / file2.foo
...
dir2 / file1.foo
dir2 / file2.foo
...
...
DIRN / file1.foo
DIRN / file2.foo
...
Вместо этого я хотел бы вывести его так, чтобы каталоги располагались в определенном порядке (например, в обратном порядке), но все файлы в каждом каталоге располагались в обычном порядке, например:
DIRN / file1.foo
DIRN / file2.foo
...
...
dir1 / file1.foo
dir1 / file2.foo
...
С помощью ls -r */*.*
не делает то, что я хочу, потому что он меняет порядок внутри каждого каталога, а также порядок самих каталогов. Я пытался использовать ls `ls -r`
который делает то, что я хочу для имен каталогов, в которых нет пробелов, но не работает для тех, которые делают (что, к сожалению, большинство из них) Если я попробую вместо ls "`ls -r`"
затем выводит то же самое, что и ls -r
- список имен каталогов, но в обратном порядке. Как заставить bash делать то, что я хочу?