GNU/Linux >> Linux Esercitazione >  >> Linux

Come elencare un tipo specifico di file nelle directory ricorsive nella shell?

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.


Linux
  1. Come Grep nei file Pdf?

  2. Come cercare in file specifici che corrispondono a un modello?

  3. Come trovare più stringhe nei file??

  4. Come elencare le dimensioni dei file ricorsivi di file e directory in una directory?

  5. Come trovo tutti i file e le directory scrivibili da un utente specifico?

Come trovare una stringa o una parola specifica in file e directory

Come rinominare file e directory in Linux

Come comprimere file e directory in Linux

Come organizzare automaticamente tipi simili di file in cartelle specifiche

Come elencare solo le directory in Linux

Come eseguire la ricerca Grep su tutti i file e in tutte le directory