Mam znalezisko wyglądające tak:
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
Chciałbym dodać, aby wykluczyć katalog o nazwie „test” w znalezieniu, ale wydaje mi się, że nie mogę wymyślić, jak w jakiś sposób dodać „typ d”. Jak mogłem to zrobić?
Dzięki!
Możesz spróbować z grep w ten sposób (folder tutaj nazywa się test_folder):
lub jeśli twoje znalezisko zwraca ścieżkę względną:
lub jeśli chcesz wszystkie foldery o tej samej nazwie, ale o innej ścieżce
Z poważaniem,
źródło
Aby rozwinąć to, co myślę, że
@CharlesClavadetscher
chodziło o jego odpowiedź. Jeśli pominiesz ścieżkę-not -path ...
find, kontynuujesz jej schodzenie. Zamiast tego użycie-prune
spowoduje, że nie będzie zjeżdżał dalej na pominiętą ścieżkę, dzięki czemu będzie szybszy. Możesz więc zrobić coś takiegoźródło
Kiedy szukam pliku, używam słowa „nie pełna nazwa”. -name sprawdza rzeczywistą nazwę pliku, ale -wholename sprawdza pełną ścieżkę. Dodając więc ignoruj test do powyższego pytania:
źródło