find . | grep "\.doc$"
Questo mostrerà anche il percorso.
ls
l'output del comando è principalmente destinato alla lettura da parte di esseri umani. Per query avanzate per l'elaborazione automatizzata, dovresti utilizzare il più potente find
comando:
find /path -type f \( -iname "*.doc" -o -iname "*.pdf" \)
Come se avessi bash 4.0++
#!/bin/bash
shopt -s globstar
shopt -s nullglob
for file in **/*.{pdf,doc}
do
echo "$file"
done
Se sei più a tuo agio con "ls" e "grep", puoi fare quello che vuoi usando un'espressione regolare nel comando grep (il carattere finale '$' indica che .doc deve essere alla fine della riga. Ciò escludere "file.doc.txt"):
ls -R |grep "\.doc$"
Ulteriori informazioni sull'utilizzo di grep con le espressioni regolari in man.