gpt4 book ai didi

shell - 从目录中删除特定文件

转载 作者:行者123 更新时间:2023-12-04 18:45:43 24 4
gpt4 key购买 nike

我们在某个文件夹中有一些文件以这种名称格式 BKK-20170428082153.war

我们需要删除比当前日期早一周的所有文件。

我试过这个命令find . -name "*.war" -type f -delete ,但它不检查我想要的日期规则。

谁能帮我吗。

最佳答案

给出的答案非常好,应该为您服务。

我仍然希望根据文件名而不是基于时间戳进行删除,试试这个。

alias delete-weeks-war='for i in {1..7};do rm BKK-`date -v-${i}d +%Y%m%d`*.war; done'

用法
$ cd wars-directory
$ delete-weeks-war # simple as ... that

解释
# traverses the last seven days starting from yesterday
# set to 0..6 to start from today
for i in {1..7}
do
# calculates timestamp, only the part of year, month, day
t=`date -v-${i}d +%Y%m%d`
# builds the expected file name
# to cover all combinations for hour, time and seconds there is the asterisk
file="BKK-${t}*.war"
# removes the designated files
rm $file
# if no files found you will get an error like
# rm: BKK-20170428*.war: No such file or directory
# to get rid of this error message use the following rm instead of the previous
# rm $file 2>/dev/null
done

我相信它完全符合您的需求。

关于shell - 从目录中删除特定文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43797759/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com