我有很多名为 dump-{date}.-id.zip 的文件。我想使用终端删除所有这些文件。执行此操作的最佳命令是什么,这样我就不会删除其他文件?
ls 的输出:
bin dump-2017-09-07_142947-001.zip dump-2017-09-26_151153-299.zip dump-2017-10-05_122928-259.zip dump-2017-10-11_125713-417.zip extras lock system
dependencies.txt dump-2017-09-08_073237-110.zip dump-2017-09-27_083219-519.zip dump-2017-10-05_160511-816.zip dump-2017-10-13_150436-991.zip fabric metatype
deploy dump-2017-09-08_094416-216.zip dump-2017-09-28_151635-932.zip dump-2017-10-06_150632-110.zip dump-2017-10-16_151015-243.zip instances notices.txt
dump-2017-09-04_125758-087.zip dump-2017-09-08_094416-217.zip dump-2017-09-29_145916-799.zip dump-2017-10-09_111104-348.zip dump-2017-10-20_101757-247.zip lib patches
dump-2017-09-06_153340-166.zip dump-2017-09-11_130229-627.zip dump-2017-10-04_132909-041.zip dump-2017-10-09_164517-364.zip dump-2017-10-27_153125-344.zip licenses quickstarts
dump-2017-09-07_101627-120.zip dump-2017-09-26_132217-849.zip dump-2017-10-04_134400-669.zip dump-2017-10-10_142601-467.zip etc license.txt readme.txt
答案1
鉴于输出,简单rm dump-*.zip
应该足够了。没有其他文件以 开头dump-
或结尾.zip
。
如果你觉得自己很迂腐:
find . -maxdepth 2 -regextype egrep -type f -regex './dump-[0-9]{4}(-[0-9]{2}){2}_[0-9]{6}-[0-9]{3}\.zip' -delete
答案2
如果您想先检查,您可以find
先使用它来显示要操作的内容,然后删除:
find . -maxdepth 1 -name "dump-*.zip"
检查输出是否仅包含要删除的文件,然后将开关添加-delete
到命令中:
find . -maxdepth 1 -name "dump-*.zip" -delete