Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.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/5/bash/17.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命令删除早于1天的子目录中的文件_Linux_Bash_Rm - Fatal编程技术网

使用Linux命令删除早于1天的子目录中的文件

使用Linux命令删除早于1天的子目录中的文件,linux,bash,rm,Linux,Bash,Rm,老实说,我远不是一个像样的bash脚本编写者,但我做了一些研究,发现了一个似乎有用的命令 find /path/to/files* -mtime +1 -exec rm {} \; 问题是这一行是否会删除目录?因为我只想删除图像文件(实际上是*.jpeg格式)否,所以不带-r标志的rm不会删除目录 看起来您希望添加更多筛选器: -键入f仅匹配文件 -name'*.jpeg'仅匹配以.jpeg结尾的文件 最后,代替-exec rm{},您可以使用更简单的-delete 总而言之,这看起来更适

老实说,我远不是一个像样的bash脚本编写者,但我做了一些研究,发现了一个似乎有用的命令

find /path/to/files* -mtime +1 -exec rm {} \;

问题是这一行是否会删除目录?因为我只想删除图像文件(实际上是*.jpeg格式)

否,所以不带
-r
标志的
rm
不会删除目录

看起来您希望添加更多筛选器:

  • -键入f
    仅匹配文件
  • -name'*.jpeg'
    仅匹配以
    .jpeg
    结尾的文件
最后,代替
-exec rm{}
,您可以使用更简单的
-delete

总而言之,这看起来更适合您:

find /path/to/files* -mtime +1 -type f -name '*.jpeg' -delete

然后将搜索结果缩小到*.jpeg文件:

find /path/to/files* -mtime +1 -type f -name "*.jpeg" -exec rm {} \;
删除前,最好先删除exec参数以进行试运行:

find /path/to/files* -mtime +1 -type f -name "*.jpeg"

每一行都将被传递给rm命令,仅此而已。

您可以
man rm
。rm不会删除目录,除非您在递归(
-r
)模式下运行它。您必须使用
rmdir
删除目录。这将添加筛选器,以确保它只匹配文件,而不是以
.jpg
结尾:
find/path/to/files-name'*.jpg'-type f-mtime+1-delete