文件结构:
/56
/57
/58
/lastFailedBuild
/lastStableBuild
...
我尝试仅删除 /56
和 /57
。
这是我当前的 shell 脚本,它在 Jenkins 进程中运行。
rm -rf [0-9]*
但这显然也会删除/58
。我想做这样的事情: rm -rf [0-9]*!({env.BUILD_NUMBER})
我可以在其中保留其余目录,包括 /58
。
最佳答案
您可以使用 head -n -1
获得没有最后一个目录的目录列表:
rm -rf `ls -d [0-9]* | head -n -1`
在 head -n -1
不可用的平台上,可以使用 sed '$ d'
(归功于 @l'L'l):
rm -rf `ls -d [0-9]* | sed '$ d'`
关于regex - 删除所有包含数字的目录,除了最近使用 Regex 在 Red Hat Linux Server 中创建的目录之外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50707400/