ls /etc/[ac]' denedim ama a veya c* ile başlayan dizinleri ve bunların tüm içeriğini gösteriyor, "a" veya "c" ile başlayan dosyaları göstermiyor.
Dizinlerin içeriğini listelemekten kaçınmak için şunları yapabilirsiniz:
ls -d /etc/[ac]*
Bu, adlar dizinini a
veya c
ile başlayan sıradan dosya adlarıyla birlikte listeleyecektir.
Bütünlük için, find
içermeyen bir çözüm şöyle olabilir:
ls -ld /etc/[ac]* | grep ^- | tr -s ' ' | cut -d' ' -f9
Yinelemeli olarak:
find /etc -type f -name '[ac]*'
Eğer özyinelemeye ihtiyaç duymuyorsanız, bunu taşınabilir olarak yapabilirsiniz:
find /etc/. ! -name . -prune -type f -name '[ac]*'
Ya da bu, taşınabilir olmayan (GNU veya yeni bir BSD bulgusu):
find /etc -type f -maxdepth 1 -name '[ac]*'
Eğer bu işlemi duyarsız bir şekilde yapmak istiyorsanız, -name
yerine -iname
kullanın.
Eğer hem dizinleri (dizin içeriklerini değil) hem de dosyaları istiyorsanız, printf
bultin kullanabilirsiniz:
printf "%s\n" [ac]*
Örnek:
$ printf "%s\n" [te]*
examples.desktop
teamviewer_linux.deb
test.php
test.txt