Ich habe einen Fund, der so aussieht:
rm -f crush-all.js
find . -type f \( -name "*.js" ! -name "*-min*" ! -name "*console*" \) | while read line
do
cat "$line" >> crush-all.js
echo >> crush-all.js
done
Ich möchte hinzufügen, um ein Verzeichnis mit dem Namen "test" in der Suche auszuschließen, aber ich kann nicht herausfinden, wie man "-type d" irgendwie hinzufügt. Wie habe ich das gemacht?
Vielen Dank!
Du kannst es mit grep so versuchen (der Ordner hier heißt test_folder):
oder wenn Ihre Suche einen relativen Pfad zurückgibt:
oder wenn Sie möchten, dass alle Ordner den gleichen Namen, aber einen anderen Pfad haben
Freundliche Grüße,
quelle
Zu erweitern, was ich
@CharlesClavadetscher
mit seiner Antwort vorhatte. Wenn Sie einen Pfad mit weglassen,-not -path ...
findwird der Pfad weiter absteigend fortgesetzt. Stattdessen verhindert using-prune
, dass es weiter in den ausgelassenen Pfad absteigt, wodurch es schneller wird. So kann man sowas machenquelle
Ich verwende "nicht ganzer Name", wenn ich nur nach einer Datei suche. -name prüft den aktuellen Dateinamen, -wholename prüft den vollständigen Pfad. Fügen Sie also der obigen Frage ein Ignorieren zum Testen hinzu:
quelle