Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux:使用一个异常文件删除所有超过某个日期的文件_Linux_File_Command Line - Fatal编程技术网

Linux:使用一个异常文件删除所有超过某个日期的文件

Linux:使用一个异常文件删除所有超过某个日期的文件,linux,file,command-line,Linux,File,Command Line,我可以通过以下方式删除文件夹中超过7天的所有常规文件: find /path/to/dir -type f -mtime +7 -exec rm {} \; 只有一个问题。这里有一个文件(.gitignore),我想保留它。我尝试使用regex,但显然findutils regex不支持负前瞻(?!gitignore) 还有其他想法吗?使用-name.gitignore find /path/to/dir ! -name .gitignore -type f -mtime +7 -exec r

我可以通过以下方式删除文件夹中超过7天的所有常规文件:

find /path/to/dir -type f -mtime +7 -exec rm {} \;
只有一个问题。这里有一个文件(.gitignore),我想保留它。我尝试使用regex,但显然findutils regex不支持负前瞻
(?!gitignore)


还有其他想法吗?

使用
-name.gitignore

find /path/to/dir ! -name .gitignore -type f -mtime +7 -exec rm {} \;
可以将多个参数分组在转义括号内。例如,要删除除
.gitignore
和javascript文件(以
.js结尾)
以外的所有文件,请执行以下操作:


-o
表示

我认为“!”需要转义,否则shell可能会尝试适应前面的命令?ie
\而不是
?(虽然不确定:/)ManFind提到了逃离
的必要性,尽管我从未需要这样做。您在运行上述命令时是否遇到问题?上一个命令的shell命令是
完美。仅供参考,它对我来说非常有效,而且不会逃跑!
find /path/to/dir ! \( -name ".gitignore" -o -name "*.js" \) -type f -mtime +7 -exec rm {} \;