regex - 从 bash shell 中的字符串返回数字

标签 regex string bash

我只想从 bash shell 中的字符串变量返回数字。例如,对于:

#!/bin/sh
file="./file_02.txt"
file_num_tag=?????????????????
echo $file_num_tag

...我想回来

>>> 02

我知道这是非常微不足道的,但我在四处寻找答案时感到困惑,我想知道最好的方法。

最佳答案

您可以使用这个 BASH 字符串替换:

file="./file_02.txt"
echo "${file//[^[:digit:]]}"
02

[^[:digit:]] 将匹配并删除字符串 file 中的所有非数字。

或者使用 tr(如果不使用 BASH):

num=`echo "$file" | tr -cd '[[:digit:]]'`

关于regex - 从 bash shell 中的字符串返回数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29152396/

相关文章:

c - 将部分字符串匹配到字符串数组中的完整字符串

string - 如何将字符串的第一个字符与 VBScript 中的特定字符进行比较?

Bash 脚本,比较数字

regex - 对 Perl 正则表达式进行基准测试时出现意外的速度行为

javascript - 需要在 Javascript 中创建正则表达式来检查有效的条件字符串

java - 如何将一大串整数转换为二进制?

bash - 如何检查 PATH 是否已包含特定目录

mysql - bash用户输入Mysql登录

javascript - JavaScript 中的正则表达式匹配

regex - 如何在字/行中间找到一个字符