Je zou door een van de twee bestandstypen kunnen lopen en dan controleren of het andere bestandstype bestaat:
for file in *.txt; do
if [ -f "${file%.txt}.pdf" ]; then
echo "$file heeft ook een bestand met een pdf extensie"
fi
done
- De eerste regel loopt door alle bestanden die een .txt extensie hebben en plaatst elke keer de bestandsnaam in een variable die "$file" heet.
- ${file%.txt} haalt de .txt extensie van de $file af, "weerwolf.txt" wordt dan "weerwolf". Daarna wordt er ".pdf" erachter geplakt zodat er "weerwolf.pdf" uit "${file$.txt}.pdf" komt.
- [ -f "..." ] controleert of het bestand "..." bestaat (zonder aanhalingstekens). In dit geval "weerwolf.pdf" (zie vorige voorbeeld)
Als je wilt controleren of bestanden identiek zijn qua inhoud, gebruik dan iets als md5sum. Je kunt meerdere bestanden doorgeven en dan `sort` of `uniq` gebruiken om het resultaat te sorteren en dubbele bestanden eruit te filteren.