Vik*_*ram 9 indicator command-line find timestamp
我正在尝试获取在特定时间段之间修改的文件列表,如本答案中所述。
我将日期和时间存储在两个变量 [nn 和 nn1(愚蠢的命名)] 中并尝试使用find命令。我收到以下错误 -
vikram@vikram-Studio-XPS-1645:~$ echo $nn1
10-04-12 23:26:48
vikram@vikram-Studio-XPS-1645:~$ echo $nn
10-05-12 00:26:48
vikram@vikram-Studio-XPS-1645:~$ find . -newermt $nn -and -not -newermt $nn1 -print
find: paths must precede expression: 00:26:48
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
vikram@vikram-Studio-XPS-1645:~$
Run Code Online (Sandbox Code Playgroud)
为什么会出现这个错误??
Sir*_*rlo 14
你的语法有点不对。让我们用有意义的变量名重做这个;随着我们的进展,我们会更好地了解正在发生的事情。
export newerthan="2012-10-04 00:05:00"
export olderthan="2012-10-05 16:30:00"
find . -newermt "$newerthan" ! -newermt "$olderthan"
Run Code Online (Sandbox Code Playgroud)
这将首先查找 2012 年 10 月 4 日上午 12:05 之后修改的文件和目录。然后,它将删除2012 年 10 月 5 日下午 4:30 之后修改的结果。
要获得./每一行没有前导的结果,请使用以下命令:
find . -newermt "$newerthan" ! -newermt "$olderthan" | sed 's/^.\///g'
Run Code Online (Sandbox Code Playgroud)