Daily Shaarli

All links of one day in a single page.

June 4, 2024

Find all `vars/` folders with more than one file

Let's say you are looking for old Ansible code dealing with multiple distros (meaning multiple files in the ./vars/ directory) to draw inspiration from. How can we quickly identify the roles with vars directories containing more than a single file?

$ cd /media/bay/taha/projects/ansible && find . -not -path "*/archived/*" -not -path "*/testing/*" -path "*/vars/*" -printf "%h\n" | sort | uniq -d && cd $OLDPWD
./pub/roles/apache/vars
./pub/roles/common-systools/vars
./pub/roles/desktop-environment/vars
./pub/roles/digikam/vars
./pub/roles/graphics-driver-nvidia/vars
./pub/roles/php/vars
./pub/roles/php-versions/vars
./pub/roles/python2/vars
./pub/roles/python3/vars
./pub/roles/R/vars
./pub/roles/sioyek-pdf/vars
./pub/roles/wallabag/vars

All of the returned paths indeed contain at least two files.
Note how we limited find to only directories named vars.