Linux найти команду получил? - PullRequest
5 голосов
/ 07 апреля 2010

Привет. Я пытаюсь найти все файлы js & css в одной команде поиска. Я попробовал все ниже, но тщетно:

find WebContent -name "*.[jc]ss?"

find WebContent -name "*.[jc]ss{0,1}"

find WebContent -name "*.[jc][s]{1,2}$"

find WebContent -name "*.[jc]s{1,2}"

find WebContent -name "*.[jc]s[s]?"

Что теперь?

Ответы [ 4 ]

6 голосов
/ 07 апреля 2010

-name принимает аргументы, которые globs , а не регулярные выражения. Вы можете использовать -regex, если хотите использовать регулярные выражения, но вариант -o (что означает "или"), вероятно, является самым простым решением:

find WebContent -name "*.js" -o -name "*.css"
0 голосов
/ 07 апреля 2010

используйте параметр -iname без учета регистра

find WebContent \( -iname "*.js" -o -iname "*.css" \)
0 голосов
/ 07 апреля 2010

вы можете делать логические выражения с помощью find. -o означает ИЛИ.

find -name "*.js" -o -name "*.cpp"
0 голосов
/ 07 апреля 2010

Попробуйте это

find WebContent -regextype posix-extended -regex '.*\.(css|js)$'
...