查找:路径必须位于表达式之前:`days'

问题描述 投票:0回答:1

嗨,这里可能是一个菜鸟问题。我正在运行命令

find . -atime -2 days # n = 2

查看2天前访问的文件。但 shell 返回一个错误说

find: paths must precede expression: 
天`

我正在使用 Ubuntu 20 LTS,似乎无法理解这个问题

我使用了这里的命令。和this但似乎无法解决我的问题。

如有帮助,我们将不胜感激。谢谢。

linux find
1个回答
0
投票

直接的问题是

-atime -2 days
被解释为带有值
-atime
的选项
-2
find
的搜索路径,这是一个错误,因为路径需要位于命令行上的谓词之前.

立即解决的办法是完全删除“天”,因为

-atime
的值已经以天为单位表示(或者严格来说,86400 秒的周期)。

其他一些命令允许您表达后缀来指示时间段,但

find
不是其中之一;但即便如此,它们也必须作为单个参数引用。例如,
date -d "2 days"
(不是
date -d 2 days
;请注意,
-d
选项是 GNU 扩展,不可移植)。

不幸的是,万维网充斥着带有语法错误或更糟糕的“计算机帮助”页面,尤其是在 shell 脚本方面。如果您发现示例不起作用,可以查阅您尝试使用的实用程序的手册页。

© www.soinside.com 2019 - 2024. All rights reserved.