我正在运行脚本来查看某些文件夹中的文件类型,但我需要修剪一些文件夹。当我使用相对文件路径通过PuTTy运行它时脚本工作,但是当我添加绝对文件路径以便我可以将它作为cron任务运行时,它不能正确修剪。
这是我的命令:
/bin/find . -not \( -path "./Ready" -prune \) -not \( -path "./Loading" -prune \) -not \( -path "./Backups" -prune \) -name "*.txt"
然而,当我更换" ./"使用完整路径,它会返回它不应该搜索的文件夹中的文件结果。
有什么想法吗?提前谢谢。
答案 0 :(得分:2)
请注意,模式匹配测试适用于整个文件名, 从命令行中命名的起点之一开始。它 只会做 如果相关起点也是绝对路径,则在此处使用绝对路径名称。这意味着这个命令 永远不会匹配任何东西:
找到bar -path / foo / bar / myfile -print
您还需要使用绝对路径作为搜索库,因此将第一个.
(搜索的起点)与您用于-path
参数的相同绝对路径进行交换。
find /usr -path "/usr/src/linux*" -prune -o -path "/usr/inclu*" -prune -o -name "*.txt" -print
这将列出所有*.txt
个文件,但列出以/usr/src/linux*
或/usr/inclu*
开头的任何目录的内容。