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