Я ищу файлы в Linux и могу выполнить команду для поиска одного типа формата, например *.jpg
но хотел бы найти все файлы с *.jpg
и *.css
в одной команде.
4
3 ответа
9
find -name "*.jpg" -o -name "*.css"
4
Существует вариант с регулярным выражением:
find -regex ".*\.\(css\|jpg\)"
Он короче и позволяет избежать ошибок в сочетании с версиями -o:
find ./ -name "*.jpg" -o -name "*.css" -ls
Здесь ls адаптирован только ко второму шаблону. Вы можете избежать этого с
find ./ \( -name "*.jpg" -o -name "*.css" \) -ls
но это становится немного загадочным тоже.
Очень быстрый поиск по всей вашей системе в update-db-index - это locate, который тоже знает регулярные выражения, но не находит ультра свежие файлы:
locate -r "Frame.\(scal\|jav\)a"
2
Кроме того, вы можете ввести:
find -name "*.jpg" -or -name "*.css"