Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 在查找表达式中串联2个参数_Linux_Find - Fatal编程技术网

Linux 在查找表达式中串联2个参数

Linux 在查找表达式中串联2个参数,linux,find,Linux,Find,我想编写一个命令来显示我计算机中的所有.c和.cpp文件 我知道我可以将find与-name一起使用,但是如何连接parm来查找这两个文件扩展名呢 现在我有: find -name "*.cpp" 使用带有-o符号的OR表达式: find . -name "*.c" -o -name "*.cpp" 根据您的系统,您可能需要转义点\。以避免它与任何字符匹配->-name“*\.cpp”使用带有-o符号的OR表达式: find . -name "*.c" -o -name "*.cpp" 根

我想编写一个命令来显示我计算机中的所有
.c
.cpp
文件

我知道我可以将find与
-name
一起使用,但是如何连接parm来查找这两个文件扩展名呢

现在我有:

find -name "*.cpp"

使用带有
-o
符号的OR表达式:

find . -name "*.c" -o -name "*.cpp"

根据您的系统,您可能需要转义点
\。
以避免它与任何字符匹配->
-name“*\.cpp”
使用带有
-o
符号的OR表达式:

find . -name "*.c" -o -name "*.cpp"
根据您的系统,您可能需要转义点
\。
以避免它与任何字符匹配->
-name“*\.cpp”
我猜

find -name "*.cpp" -o -name "*.c"
我猜,
-o
表示逻辑或

find -name "*.cpp" -o -name "*.c"
-o
表示逻辑或

替代解决方案

find -regex '.*\.\(c\|cpp\)'
这样,您就可以避免多个
-o
逻辑条件(如您在回答中所要求的

替代解决方案)

find -regex '.*\.\(c\|cpp\)'

这样可以避免多个
-o
逻辑条件(正如你在回答中所要求的那样

是的,这是可行的,但是没有任何方法可以使用一个单一的名称来实现逻辑?@redhat01:是的,这是可能的。看看我的回答是的,这是可行的,但是没有任何方法可以使用一个单一的名称来实现逻辑?@redhat01:是的,这是可能的。看看我的回答你可能需要设置reextype,因为它可能在不同的系统上配置不同。@HerrSerker:是的,但是默认的EMACS总是配置好的。您可能需要设置ReExtType,因为它在不同的系统上配置不同。@HerrSerker:是的,但是默认的EMACS总是配置好的