使用Linux命令删除早于1天的子目录中的文件
老实说,我远不是一个像样的bash脚本编写者,但我做了一些研究,发现了一个似乎有用的命令使用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 总而言之,这看起来更适
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