如何使用正则表达式查找文件夹的真实路径

耶尔

presto是分布式SQL查询引擎,

当我们安装presto时,应在以下主文件夹中创建它

/application/DB/presto/presto-server-0.216

所以我们可以说

为了捕获我们可以做的首页(这是我的bash脚本的一部分

PRESTO_HOME=` find  /application/DB/presto/ -maxdepth 1 | grep  presto-server `
echo $PRESTO_HOME
/application/DB/presto//presto-server-0.216

但是...,因为某些用户可以重命名/ application / DB / presto /下的文件夹以安装新版本

然后在/ application / DB / presto下,我们可以获得以下文件夹:

/application/DB/presto/presto-server-HOLD_0.211
/application/DB/presto/_presto-server-0.212
/application/DB/presto/backup_presto-server-0.216.new
/application/DB/presto/presto-server-0.210.old
/application/DB/presto/presto-server-0.212.orig

所以关于那个

什么是正确的语法才能找到真实的路径

/application/DB/presto/presto-server-0.216

笔记:

presto文件夹结构始终与

presto-server- [任何浮点数或整数]

VALID示例:

/application/DB/presto/presto-server-0.736
/application/DB/presto/presto-server-0.936
/application/DB/presto/presto-server-1
/application/DB/presto/presto-server-1.9
/application/DB/presto/presto-server-12

无效示例

/application/DB/presto/presto-server-0.736-43.previos
/application/DB/presto/presto-server-0.936_old
/application/DB/presto/orig_presto-server-1
/application/DB/presto/presto-server-1.9.bck
/application/DB/presto/presto-server-PREVIOS
/application/DB/presto/presto-server-
/application/DB/presto/presto-server-0.936_old
/application/DB/presto/orig_presto-server-1.other
/application/DB/presto/presto_server-1.9.bck
/application/DB/presto/OLD_presto-server-12-83
斯蒂芬·查泽拉斯(Stephane Chazelas)

根据您使用的外壳,可以使用通配符进行操作。

重击

#! /bin/bash -
shopt -s nullglob extglob
dirs=(/application/DB/presto/presto-server-+([[:digit:]])*(.+([[:digit:]])))

printf '%s\n' "Found ${#dirs[@]} matching directories:" "${dirs[@]}"

sh

#! /bin/zsh -
set -o extendedglob
dirs=(/application/DB/presto/presto-server-<->(.<->)#(N))

printf '%s\n' "Found $#dirs matching directories:" $dirs

ksh93

#! /bin/ksh93
dirs=(~(N)/application/DB/presto/presto-server-+([[:digit:]])*(.+([[:digit:]])))

printf '%s\n' "Found ${#dirs[@]} matching directories:" "${dirs[@]}"

总体而言,presto-server-其后是1个或多个数字的序列,后跟0个或多个数字的序列.<digits>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

正则表达式模式以验证Linux文件夹路径

如何从Linux终端使用正则表达式删除文件夹

不带文件名的文件夹路径的正则表达式

查找文件的正则表达式

用于查找文件路径的正则表达式

CMD-检查正则表达式的文件夹路径

正则表达式从路径中排除文件夹

如何使用python正则表达式查找文件中的所有字符字符串

在路径中查找最后一个文件夹名称的正则表达式

正则表达式以匹配文件夹结构中的有效路径

如何使用正则表达式Python查找文件中的非ASCII字符

如何使用正则表达式删除文件的路径

如何使用正则表达式查找文件并将其列出?

使用正则表达式查找和grep仅获取文件夹

如何通过带有文件夹名称正则表达式的python打开文件?

如何使用Bash中的正则表达式测试文件夹是否存在?

文件夹路径的正则表达式

使用正则表达式查找文件中的方法和参数

如何从路径列表中使用正则表达式查找文件或文件夹

使用正则表达式查找文件

查找路径为正则表达式的文件

如何使用正则表达式查找文件中的特定行

正则表达式 - 如何在动态文件夹名称中查找文件

查找包含多个匹配正则表达式/grep 的文件夹

正则表达式:从 Y 文件夹中查找 X 扩展名的文件

如何在 C/Where 中使用正则表达式来查找文件?

具有未知嵌套目录深度的文件夹路径的正则表达式验证

如何使用正则表达式从字符串中删除文件/文件夹路径

使用来自 glob 的正则表达式查找文件名