我可以通过以下方式删除一个文件夹中7天前的所有普通文件:
find /path/to/dir -type f -mtime +7 -exec rm {} \;
只有一个问题。这里有一个文件(.gitignore),我想保留它。我尝试使用正则表达式,但显然findutils正则表达式不支持负向先行断言(?!gitignore)
。
还有其他的想法吗?
我可以通过以下方式删除一个文件夹中7天前的所有普通文件:
find /path/to/dir -type f -mtime +7 -exec rm {} \;
只有一个问题。这里有一个文件(.gitignore),我想保留它。我尝试使用正则表达式,但显然findutils正则表达式不支持负向先行断言(?!gitignore)
。
还有其他的想法吗?
Use ! -name .gitignore
find /path/to/dir ! -name .gitignore -type f -mtime +7 -exec rm {} \;
.gitignore
和javascript文件(以.js
结尾)之外的所有文件:find /path/to/dir ! \( -name ".gitignore" -o -name "*.js" \) -type f -mtime +7 -exec rm {} \;
-o
表示 或者
\!
而不是!
?(不太确定 :/) - Olivier Dulac!!
。 - grebneke