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