linux - 'find'(命令)用 -wholename 找不到任何东西

标签 linux bash directory find

为什么这个命令有效:

/home/user1/tmp $ find ./../.. -wholename '.*/tmp/file.c' -exec echo '{}' \;
./../../user2/tmp/file.c
/home/user1/tmp $

这个命令不起作用? (一无所获)

/home/user1/tmp $ find /home -wholename '.*/tmp/file.c' -exec echo '{}' \;
/home/user1/tmp $

最佳答案

第一个命令生成以 ./../.. 开头的文件名。因此全名模式将匹配,因为它们以 ..

开头

第二个命令生成以 /home 开头的文件名。然而,wholename 模式仍在寻找以 . 开头的路径,在这种情况下它不会匹配任何文件。

请注意,模式不是正则表达式。如果您期待它们,请改为查看 -regex 选项。

关于linux - 'find'(命令)用 -wholename 找不到任何东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30820977/

相关文章:

linux - 如何退出终端中的 man 命令

java - 如何在不使用包的情况下识别给定路径是Java中的文件还是目录?

.net - 检查文件夹中是否包含另一个文件夹中文件的副本

c - 重定向已杀死的可执行文件的标准输出

c - 为什么我的 var 在 while 循环中被改变?

bash - 如何仅检查自上次 checkin bash以来添加的行

python - 尝试在 Python 中从头开始打印目录系统树(无导入模块)

linux - 使用 ext4 文件系统粉碎来销毁数据

linux - (Delphi Linux) ld-linux.exe : error: cannot find -lgcc_s

bash - 我如何使用时间戳进行 grep 计数