Ich interessiere mich für Bash Scripting und möchte wissen, wie Sie ein Unix-Verzeichnis durchqueren und den Pfad zu der Datei, die Sie gerade betrachten, protokollieren können, wenn sie einem Regex-Kriterium entspricht.Wie kann ich einen Verzeichnisbaum mit einem Bash- oder Perl-Skript durchlaufen?
Es würde so gehen:
- Traverse eine große Unix-Verzeichnispfad, Datei/Ordner-Struktur.
- Wenn die aktuelle Datei Inhalt eine Zeichenfolge enthalten, die eine abgestimmte oder mehrere Regex Ausdrücke,
- anschließend den vollständigen Pfad zu einer Ergebnistextdatei die Datei anhängen.
Bash oder Perl-Skripte sind in Ordnung, obwohl ich würde es vorziehen, wie Sie dies mit einem Bash-Skript tun würde, mit grep, awk, etc Befehle.
-exec grep wird ziemlich langsam sein, da es grep für jede Datei einzeln ausführt –
Sie können es erheblich beschleunigen mit einem Pluszeichen: finden. -exec grep -l -e "myregex" {} + >> outfile.txt –