find -type f -name "*.png" -printf "%h\0" | uniq -z | xargs -0 rm -rf
Command line - Remove directories if they contain a particular file type
-
26-06-2022 - |
Question
I'd like to remove some directories if they contain .png images whilst ignoring directories that do not.
I need to use command line (I'm using MinGW).
I imagine that a solution would include rm
and target a directory if it contains *.png
. How can this be done?
Solution
OTHER TIPS
Something like this might work:
#!/bin/bash
shopt -s globstar
ls **/*.png | while read f; do
dirname "$f"
done | sort -uz | xargs -0 rm -rf
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow