Dan*_*mer 6 linux filenames rm
我正在尝试一次删除大量文件,但需要具体说明不要删除我实际需要的任何文件。
我有一吨重的是启动文件损坏主-但也有这样开始的有效文件主-2018
所以,我想做类似的事情
rm -rf master-* --exclude master-2018*
Run Code Online (Sandbox Code Playgroud)
那是我需要的可能吗?
mos*_*svy 18
是的,您可以使用多个模式find:
$ find -name 'master-*' \! -name 'master-2018*' -print0 -prune |
xargs -0 echo rm -fr
Run Code Online (Sandbox Code Playgroud)
(echo如果您对试运行感到满意,请删除)
如果您只想从当前目录中删除文件,您应该-maxdepth 1在之后添加一个谓词find,即master-1991但没有subdir/master-1991.
Jef*_*ler 11
在 bash 中:
shopt -s extglob
echo rm master-!(2018*)
Run Code Online (Sandbox Code Playgroud)
echo如果看起来正确,请将其删除。
以上使用 bash 的扩展通配工具来匹配以 开头master-但没有2018紧跟其后的文件,然后是任何内容 ( *)。