2016-10-12 2 views
0

Je sais qu'il ya un beau programme Linux appelé find, qui a utilisé commerépertoire de recherche et des sous-répertoires pour le fichier correspondant à une chaîne et chemins liste en utilisant ls et grep au lieu de trouver

find /home/user -name ".txt" 

imprimera tous les fichiers avec .txt extension avec leur chemin relatif

Comment puis-je obtenir la même chose en utilisant ls, grep et éventuellement awk?

J'ai essayé listant tous les fichiers dans le répertoire et ses sous-répertoires en utilisant récursive

ls -LR1 

mais ont aucune idée de comment l'analyser en utilisant grep.

Tout conseil serait grandement apprécié.

+0

conseils - ne pas fais ceci. Utilisez simplement les bons outils pour chaque travail. Google "analyse la sortie". –

Répondre

0

Vous pouvez le faire avec et :

shopt -s globstar # required if not enabled with bash4 
printf '%s\n' **/*.txt 

Mais ne pas faire confiance à qui que ce soit de trouver une solution avec ls + awk, pas la bonne façon d'y parvenir avec la robustesse