我在Linux中有很多这样的文件:
File1.ext
File1.EXT
File2.ext
File2.EXT
.
.
.
我需要删除File1.EXT和File1.ext、File2.EXT和File2.ext之间的旧文件。我可以在Linux上这样做吗?
发布于 2021-09-21 20:05:27
我们可以使用stat
命令获得文件上最后一次修改的划时代时间戳,并使用该时间戳删除旧文件。
然后,我们可以将shell中的这些时间戳与大于-gt
的-lt
和大于删除相应文件的-lt
进行比较。
#!/bin/sh -e
for f in *.ext; do
# f = File1.ext
base="$(basename "$f" .ext)" # File1
last_modified="$(stat -c '%Y' "$f")"
last_modified_next="$(stat -c '%Y' "${base}.EXT")"
if [ "$last_modified" -gt "$last_modified_next" ]; then
rm -f "$base.EXT"
elif [ "$last_modified" -lt "$last_modified_next" ]; then
rm -f "$f"
fi
done
https://stackoverflow.com/questions/69277953
复制相似问题