我有许多以“backup_”开头的备份目录。
我只想保留最后创建的两个文件夹。
我做了这个命令来显示最后创建的两个:
ls -1 -t -d */ | head -2
问题是我不知道如何从删除命令(rm -rf | ...)中排除该命令的结果。
我知道 grep -v 只适用于字符串。
通常,xargs
是您想要用来将生成的名称列表作为参数传递给命令的工具。在您的情况下,您只需要将 反转为head -2
打印除前两行以外的所有内容的命令。例如:
cmd-to-generate-file-list | sed -e 1,2d | xargs rm
在sed
将删除的头两行,并且xargs
将调用rm
与输出的每一行作为一个参数。请注意,ls
用于生成文件列表通常并不安全,但这完全是一个不同的问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句