Jac*_*ack 20 linux bash zsh shell regex
假设我有 20 个名为 FOOXX 的文件,其中 XX 是文件的编号,例如 01、02 等。
目前,如果我想删除小于 10 的所有文件,这很容易,我只需使用通配符,例如 rm FOO0*
但是,如果我想删除某个范围内的特定文件,例如 13-15,这将变得更加困难。
rm FPP[13-15] 不起作用,并询问我是否要删除所有文件。同样 rm FOO1[3-5] 希望删除所有以 FOO1 开头的文件
那么,删除这样的文件范围的最佳方法是什么?
我已经尝试过 bash 和 zsh,我认为它们对于这样一个基本任务并没有太大区别?
小智 13
对于未来的读者,该find命令还可以删除文件。我解决了这个类似的问题:
find . -type f -regex '...' -delete
Run Code Online (Sandbox Code Playgroud)
但所选择的答案是对这个问题最简单的回答。
ls | grep 正则表达式 | xargs rm