AIX 版本 6.1 中的查找命令
Posted
技术标签:
【中文标题】AIX 版本 6.1 中的查找命令【英文标题】:find command in AIX Version 6.1 【发布时间】:2016-11-15 17:59:42 【问题描述】:下面的命令
find . -name "*.java"
结果如我所愿,在当前目录及其子目录下找到后缀为.java的文件,但是下面的命令输出看不懂
find . -name *.java
没有双引号,我知道 * 在 ksh 中有特殊的含义,但是这个命令到底是做什么的呢?
【问题讨论】:
【参考方案1】:您想将*.java
提供给find
,而不是在将命令提供给find
之前被bash 替换的东西。您可以通过将*.java
放在双引号中或转义特殊字符来做到这一点:
find . -name \*.java
你可以看到发生了什么
set -x
find . -name *.java
set -
【讨论】:
【参考方案2】:这取决于您在当前目录中有多少个 *.java 文件:
0:shell 将掩码传递给'find':find . -name *.java
1:shell 将文件名传递给'find':find . -name 1.java
2+:shell 将文件名传递给“find”:find . -name 1.java 2.java 3.java ...
当然,'find' 不知道如何处理第一个文件名之后的额外文件名
【讨论】:
以上是关于AIX 版本 6.1 中的查找命令的主要内容,如果未能解决你的问题,请参考以下文章
在 find 命令中查找不支持 printf 的 AIX 系统上的前 N 个最旧文件