如何将正则表达式传递到Linux中的find命令?

时间:2022-09-27 20:12:25

When I type command

当我输入命令

find ./ -iname "*.pdf" or find ./ -iname \*.pdf

找到。/ - iname”*。/ -iname \*.pdf

all pdf files under current folder tree are listed. Similarly,

列出当前文件夹树下的所有pdf文件。同样的,

find ./ -iname "*.doc"

找到。/ - iname“* . doc”

lists all the doc files.

列出所有文档文件。

My question is how to list both types of files? I tried commad like

我的问题是如何列出这两种类型的文件?我试着commad像

find ./ -iname "*.{pdf,doc}"

找到。/ - iname“* { pdf,医生}”。

But that does not work.

但这行不通。

1 个解决方案

#1


2  

Using glob you can use -o (OR)`:

使用glob你可以使用-o(或)':

find . \( -iname "*.pdf" -o -iname "*.doc" \)

Or using regex:

或者使用正则表达式:

find . -regextype posix-extended -regex '.*\.(pdf|doc)$'

On OSX find use:

在OSX找到使用:

find -E . -regex '.*\.(pdf|doc)$'

#1


2  

Using glob you can use -o (OR)`:

使用glob你可以使用-o(或)':

find . \( -iname "*.pdf" -o -iname "*.doc" \)

Or using regex:

或者使用正则表达式:

find . -regextype posix-extended -regex '.*\.(pdf|doc)$'

On OSX find use:

在OSX找到使用:

find -E . -regex '.*\.(pdf|doc)$'