提问人:Curious Developer 提问时间:11/13/2023 更新时间:11/13/2023 访问量:37
find:路径必须在表达式:“天”之前
find: paths must precede expression: `days'
问:
嗨,这里可能是一个菜鸟问题。我正在运行命令
find . -atime -2 days # n = 2
以查看 2 天前访问的文件。但是 shell 返回一个错误,说
find: paths must precede expression:
天''
我正在使用 Ubuntu 20 LTS,似乎无法理解这个问题
帮助将不胜感激。谢谢。
答:
2赞
tripleee
11/13/2023
#1
眼前的问题是,它被解释为带有值和搜索路径的选项,这是一个错误,因为路径需要位于命令行上的谓词之前。-atime -2 days
-atime
-2
find
直接的解决方法是完全删除“天”,因为 的值已经以天为单位(或者严格地说,周期为 86400 秒)表示。-atime
其他一些命令允许您表示后缀以指示时间段,但不是其中之一;但即便如此,它们也必须作为一个单一的论点被引用。例如,(not ; 请注意,该选项是 GNU 扩展,不是可移植的)。find
date -d "2 days"
date -d 2 days
-d
不幸的是,万维网充斥着语法错误或更糟的“计算机帮助”页面,尤其是在 shell 脚本方面。如果您发现某个示例不起作用,请查阅您尝试使用的实用程序的手册页。
评论
days
atime
-n
+n
find