查找时间范围内的文件以及一个附加文件

时间:2018-06-06 17:21:21

标签: linux bash

我需要在一个时间范围内获取一些文件,并使用“查找”等linux板工具获取一个文件。

让我举个例子:我需要在“2018-06-06 10:27:24”和“2018-06-06 16:43:47”之间修改所有文件,并在该时间戳之后创建一个文件。我的问题是。我只获取有关这两个时间戳的信息以及在第二个时间戳可以随时创建之后创建的下一个文件。第二个时间戳后一分钟或一周。

我最优雅的尝试是:

find /FOLDER -name "*MYPATTERN*" -newermt "2018-06-06 10:27:24" ! -newermt "2018-06-06 16:43:47"

但是使用这个解决方案,没有一个额外的文件,到目前为止我找不到一个好的解决方案。

祝你好运 neik

2 个答案:

答案 0 :(得分:0)

或许分两个步骤

// the parameter of the callback function is a `GuildMember` class, so name the variable
// something reasonable like 'guildMember', not 'guildMemberAdd'
client.on('guildMemberAdd', guildMember => {
    // Set the member's roles to a single role
    guildMember.setRoles(['<your role id>'])
        .then(console.log)
        .catch(console.error);
});

将在latest_timestamp之后为您提供一个更新的文件。

或者,不是手动设置日期/时间以数字方式排序,而是按照@Socowi在评论中的建议使用$ find ... -newermt "{latest_timestamp}" -printf "%TY%Tm%Td%TH%TM%TS\t%p\n" | sort -nr | awk -F'\t' '{print $2; exit}'

答案 1 :(得分:0)

添加&#34;或&#34;当前find命令的子句:

t1="2018-06-06 10:27:24"
t2="2018-06-06 16:43:47"

find /FOLDER \( -name "*MYPATTERN*" -newermt "$t1" ! -newermt "$t2" \) \
          -o \( -name '*THE_EXTRA_FILE*' -newermt "$t2" \)