2017-10-12 46 views
0

我正在使用find命令来创建我想用于分发包的文件列表。却发现不能得到所有的文件列表查找命令不一致的输出,通配符无法正常工作

下面是我的目录结构

. 
├── 1.cpp 
├── test 
│   └── 1.cpp 
└── test1 
├── 1.cpp 
└── test11 
    ├── 1.h 
    └── 2.cpp 
以下

的命令及其输出(注:不带./test1/test11/ 2.cpp)

$ find . -name *.cpp 
./test/1.cpp 
./1.cpp 
./test1/1.cpp 

然而,当我使用的具体名称是能够找到该文件

$ find . -name 2.cpp 
./test1/test11/2.cpp 
+0

您可以试试这个搜索。名称“* .cpp” –

+0

工作表示感谢。请添加回答 – Count

回答

1

这是因为*.cpp扩展为1.cpp,因为在当前目录中使用引号"*.cpp"或转义星\*.cpp匹配以避免扩展并将文字作为参数传递给find。

+0

解释它谢谢你 – Count

1

在您的搜索字词后加上双引号字符find . -name "*.cpp"