Как отсортировать файлы по длине имени файла с подкаталогами? - PullRequest
0 голосов
/ 27 января 2019

Я пытаюсь посмотреть каталог с именем Forever, в котором есть подкаталоги с Pure, Mineral, которые заполнены .csv файлами.Я смог увидеть все файлы .csv в каталоге, но мне трудно их отсортировать по длине имени файла.

Что касается текущего каталога, я нахожусь на Forever.Поэтому я смотрю на оба подкаталога Pure и Mineral.

То, что я сделал, было:

find -name ".*csv" | tr ' ' '_' | sort -n -r

Это просто сортирует файл в обратном порядке по алфавиту, который не учитывает длину. (Мне пришлось усечь какое-то имяфайлы как есть пробелы между ними.)

1 Ответ

0 голосов
/ 27 января 2019

Я думаю, что этот ответ более полезен, чем помеченный дубликат, потому что он также учитывает вложенные каталоги (которых у обманщика не было):

find . -name '*.csv' -exec bash -c 'echo -e $(wc -m <<< $(basename {}))\\t{}' \; | sort -nr | cut -f2

FWIW с использованием fd -e csv -x ... был немного быстреедля меня (0,153 с против 2,084 с Find)

, хотя basename удаляет файл ext, это не имеет значения, так как find гарантирует, что он есть у всех

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...