查找所有具有(损坏的)未来日期的文件并修改为今天

Mel*_*emi 6 macos shell command-line zsh file-attributes

231,文件夹层次结构中的数千个文件的创建和修改日期错误(空?)。我可以识别他们:

find . -mtime -0
Run Code Online (Sandbox Code Playgroud)

他们的日期都在未来。不太确定,但我看过的几个ls -l 似乎是在 2040 年。

无论如何,如果可能的话,我想首先在上述命令的输出中显示创建和修改日期。

其次,更重要的是,我想将这些文件的创建和修改日期更改为今天(现在)。

我不是 bash 大师,但我知道有一个简单的方法。提前致谢!

Mar*_*ell 4

我将使用“find”如下并执行“touch”来设置修改日期:

find . -mtime -0 -exec touch {} \;
Run Code Online (Sandbox Code Playgroud)

不确定如何/是否可以更改创建日期。您可能需要重新创建该文件,方法是将其复制到新的临时名称,然后将其重命名回原始名称。GNU touch 可能会有所帮助......

您可以使用“ls -Ul”作为文件创建日期,使用“ls -l”作为修改时间,如下所示:

find .-mtime -0 -exec ls -Ul {} \;
Run Code Online (Sandbox Code Playgroud)

或者

find .-mtime -0 -exec ls -l {} \;
Run Code Online (Sandbox Code Playgroud)