find . | grep "\.doc$"
Esto también mostrará la ruta.
ls
La salida del comando está destinada principalmente a la lectura por parte de humanos. Para consultas avanzadas para el procesamiento automatizado, debe usar find
más potente comando:
find /path -type f \( -iname "*.doc" -o -iname "*.pdf" \)
Como si tuvieras bash 4.0++
#!/bin/bash
shopt -s globstar
shopt -s nullglob
for file in **/*.{pdf,doc}
do
echo "$file"
done
Si se siente más cómodo con "ls" y "grep", puede hacer lo que quiera usando una expresión regular en el comando grep (el carácter '$' final indica que .doc debe estar al final de la línea. Eso excluir "archivo.doc.txt"):
ls -R |grep "\.doc$"
Más información sobre el uso de grep con expresiones regulares en man.