regex - 删除所有包含数字的目录,除了最近使用 Regex 在 Red Hat Linux Server 中创建的目录之外

标签 regex linux jenkins redhat

文件结构:

/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/

相关文章:

regex - Autohotkey 使用正则表达式提取文本

r - 在 R 中提取以标点符号开头和结尾的文本

python - 正则表达式 - 在字符串中查找最后找到的符号的位置

android - 如何确定和设置android.process.media组?

linux - 在 linux 中运行不同名称的相同程序

docker - 使用Docker代理在Jenkins管道中接收 “nonexistent directory”错误

java - 在 Java 中使用正则表达式获取 n 个单词

linux - 301重定向DNS问题

delphi - 如何使用 jenkins 将 delphi exe 输出部署到artifactory

jenkins - jenkins docker 容器中的 jenkins.xml 在哪里