regex - 提取包含bash中数字的路径的一部分

标签 regex bash awk

在bash中,给出如下路径:

mypath='my/path/to/version/5e/is/7/here'
我想提取包含数字的第一部分。对于该示例,我想提取:5e有没有比使用while遍历零件并检查每个零件的编号更好的方法了?
while IFS=/ read part
do
   if [[ $part =~ *[0-9]* ]]; then
      echo "$part"
   fi
done <<< "$mypath"

最佳答案

使用Bash的正则表达式:

[[ "$mypath" =~ [^/]*[0-9]+[^/]* ]] && echo "${BASH_REMATCH[0]}" 
5e

关于regex - 提取包含bash中数字的路径的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63938196/

相关文章:

java - 如何匹配除一个以外的所有单词?

javascript - 如何使用具有唯一类名的 jquery 定位链接?

bash - 提取每一行,然后在第二列中提取具有不同值的行

shell - ubuntu中如何检查txt文件的分隔符

linux - awk 列减去一个常量

java - 正则表达式中的奇怪行为

linux - Bash 替换字符串我不希望它这样做

bash - 多次通过 stdin 将参数传递给 shell 脚本

python - 从文件中提取特定的行集

匹配两个字符串的Javascript正则表达式