Как получить список папок только с PNG изображениями

find . -name '*png' -printf '%h\0' | xargs -0 ls -l --hide=*.png | grep -ZB1 ' 0$'


Команда «find . -name ‘*png’ -printf ‘%h\0’ | xargs -0 ls -l —hide=*.png | grep -ZB1 ‘ 0$'» позволяет получить список папок, содержащих только PNG изображения. Вначале команда «find . -name ‘*png’ -printf ‘%h\0′» ищет все файлы с расширением PNG и выводит только их родительские папки, разделенные символом NULL. Затем команда «xargs -0 ls -l —hide=*.png» получает список папок и передает его команде «ls -l —hide=*.png» для вывода подробной информации о каждой папке, скрывая файлы с расширением PNG. Наконец, команда «grep -ZB1 ‘ 0$'» фильтрует результаты, оставляя только те строки, которые заканчиваются на » 0″ и выводит их вместе с предыдущей строкой для отображения папок только с PNG изображениями. Альтернативной командой может быть использование команды «find», аргументы которой позволяют искать только папки и фильтровать результаты по расширению файлов. Аргумент «%h» в printf используется для вывода только пути к папкам, а команда «ls -l» отображает подробную информацию о каждом файле или папке, аргумент «—hide» скрывает файлы с определенным расширением, и аргументы «-ZB1» в команде grep выводят соответствующие строки и одну предыдущую строку.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *