发现命令行为不可预测?

发现命令行为不可预测?

我正在一台远程机器上工作,HP-UNIX 机器上的磁盘空间为 96%,所以我打算通过压缩一些"*.extract.sys"文件来减少磁盘空间。

$find . "*extract.sys" -exec ls -lrt {} \;

现在上述命令应该显示扩展名为“extract.sys”的文件,但我得到的却是扩展名为 extract 的文件、一些目录和带有其他扩展名的文件。

为什么会发生这种情况?我希望这不是因为磁盘空间。

编辑:还有其他方法吗,或者我犯了一些错误/遗漏了一些东西

答案1

您想使用-name之前的选项*extract.sys;否则它看起来目录匹配*extract.sys(除了.)而不是查找为了匹配的文件*extract.sys。此外,您应使用单引号*extract.sys而不是双引号,以便 shell 不会将其视为通配符。(您只想find将其视为通配符,而不是 shell。)

find . -name '*extract.sys' -exec ...

相关内容