在AIX V6.1中查找命令

时间:2016-07-13 08:43:48

标签: find aix

用于以下命令

find . -name "*.java" 

结果是我的预期,在当前目录及其子目录下找到扩展名为.java的文件名,但我无法理解以下命令输出

find . -name *.java

没有双引号,我知道*在ksh中有特殊含义,但这个命令到底是做什么的?

2 个答案:

答案 0 :(得分:1)

这取决于当前目录中有多少* .java文件:

0:shell将掩码传递给&#39;:int nxtcol=0; for(int k=0;k<values.length;k++) { Row row1 = sheet1.createRow(k); row1.createCell(nxtcol).setCellValue(values[k]); } wb.write(fileOut); nxtcol++;

1:shell将文件名传递给&#39;发现&#39;:find . -name *.java

2+:shell将文件名传递给&#39;发现&#39;:find . -name 1.java

当然&#39;发现&#39;不知道在第一个文件名之后如何处理额外的文件名

答案 1 :(得分:0)

您希望将*.java提供给find,而不是在向find发出命令之前将其替换为bash。您可以将*.java放在双引号中,或通过转义特殊字符来完成此操作:

find . -name \*.java

你可以看到

发生了什么
set -x
find . -name *.java
set -