gpt4 book ai didi

linux - 删除 bash 脚本中的 tar.gz 文件

转载 作者:太空宇宙 更新时间:2023-11-04 04:58:00 25 4
gpt4 key购买 nike

我当前正在尝试从另一个目录中删除最旧的目录备份。这些备份使用“tar -cpPzvf”进行压缩。我的简单问题是是否有办法使用 xargs 和“rm”命令删除 tar.gz 文件

这是我当前使用的线路:

sudo ls -t $BACKUPTARGET/adhoc/daily | tail -n +$NUMDAILY | xargs rm

使用的变量定义为:

  • $BACKUPTARGET:指向“/b​​ackup”
  • $NUMDAILY:此值是从指定要保留的备份数量的不同配置文件中截取的。

当我运行脚本时,会列出除指定编号之外的最旧的备份,但我收到此错误:

rm: cannot remove 'david-lenovo.etc.2016-12-07.20-10.tar.gz': No such file or directory
rm: cannot remove 'david-lenovo.etc.2016-12-07.20-09.tar.gz': No such file or directory
rm: cannot remove 'david-lenovo.etc.2016-12-07.20-04.tar.gz': No such file or directory
rm: cannot remove 'david-lenovo.etc.2016-12-07.20-02.tar.gz': No such file or directory
rm: cannot remove 'david-lenovo.etc.2016-12-07.19-54.tar.gz': No such file or directory
rm: cannot remove 'david-lenovo.etc.2016-12-07.19-50.tar.gz': No such file or directory
rm: cannot remove 'david-lenovo.etc.2016-12-07.19-49.tar.gz': No such file or directory
rm: cannot remove 'david-lenovo.etc.2016-12-07.19-48.tar.gz': No such file or directory

我知道如果不先解压缩 tar.gz 文件,可能无法删除它们,但我很好奇是否有一种方法可以使我的脚本不那么复杂。

最佳答案

我能想到的最简单的更改就是更改您的工作目录:

sudo ls -t $BACKUPTARGET/adhoc/daily | tail -n +$NUMDAILY | \
( cd $BACKUPTARGET/adhoc/daily && xargs rm ; )

关于linux - 删除 bash 脚本中的 tar.gz 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41030348/

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