У меня есть находка, похожая на это:
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
Я хотел бы добавить, чтобы исключить каталог с именем "test" из поиска, но я не могу понять, как каким-то образом добавить "-type d". Как я могу это сделать?
Благодарность!
Вы можете попробовать использовать grep следующим образом (папка здесь называется test_folder):
или если ваша находка возвращает относительный путь:
или если вы хотите, чтобы все папки имели одинаковое имя, но разные пути
С наилучшими пожеланиями,
источник
Чтобы расширить то, что я думаю,
@CharlesClavadetscher
собирался с его ответом. Если вы пропустите путь с помощью,-not -path ...
findвы продолжите нисходящий путь. Вместо этого использование-prune
остановит дальнейшее снижение в пропущенный путь, что сделает его быстрее. Таким образом, вы можете сделать что-то вродеисточник
Я использую «not wholename», когда я просто ищу файл. -name проверяет фактическое имя файла, но -wholename проверяет полный путь. Итак, добавив игнорирование для теста к вопросу выше:
источник