使用 Linux 命令删除早于 1 天的子目录中的文件
Remove files in subdirectories older than 1 day with Linux command
老实说,我还远不是一个像样的bash脚本编写者,但我做了一些研究,发现了一个似乎有用的命令
find /path/to/files* -mtime +1 -exec rm {} \;
问题是这一行是否会删除目录?因为我只想删除图像文件(实际上是 *.jpeg 格式)
不,没有 -r
标志的 rm
不会删除目录。
您似乎想添加更多过滤器:
-type f
仅匹配文件
-name '*.jpeg'
仅匹配以 .jpeg
结尾的文件
最后,您可以使用更简单的 -delete
。
而不是 -exec rm {} \;
放在一起,这个看起来更适合你:
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 命令,仅此而已。
老实说,我还远不是一个像样的bash脚本编写者,但我做了一些研究,发现了一个似乎有用的命令
find /path/to/files* -mtime +1 -exec rm {} \;
问题是这一行是否会删除目录?因为我只想删除图像文件(实际上是 *.jpeg 格式)
不,没有 -r
标志的 rm
不会删除目录。
您似乎想添加更多过滤器:
-type f
仅匹配文件-name '*.jpeg'
仅匹配以.jpeg
结尾的文件
最后,您可以使用更简单的 -delete
。
-exec rm {} \;
放在一起,这个看起来更适合你:
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 命令,仅此而已。