1

У меня есть каталог с большим количеством файлов изображений в разных форматах. Я хотел бы видеть список всех отдельных окончаний файлов в этом каталоге, чтобы я мог видеть, какие форматы изображений присутствуют. Таким образом, предполагая, что будут только файлы png , gif и jpg , мой желаемый результат будет выглядеть так:

png
gif
jpg

Я знаю, как получить список всех окончаний файлов, используя ls и cut , но я не знаю, как сделать так, чтобы они содержали только уникальные записи. Есть ли способ сделать это, используя только инструменты оболочки, или я должен написать небольшой скрипт на Python или аналогичный?

2 ответа2

7
$ ls *.* | nawk -F\. '{print $(NF);}' | sort | uniq

Если вы хотите знать, сколько каждого типа:

$ ls *.* | nawk -F\. '{print $(NF);}' | sort | uniq -c
0

Всегда есть выход.

function alsoHidden {
    find . -maxdepth 1 -type f -printf '%f\n';
}
$ alsoHidden | sed -E 's/.*\.(.*)/\1/' | sort -u

$ alsoHidden | tr . / | xargs -I% basename % | sort -u

$ alsoHidden | awk -F. ' !a[$NF] { print $NF; a[$NF]++ }'

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .