📜  仅获取字符串 bash 的数字 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:49:16.102000             🧑  作者: Mango

仅获取字符串 bash 的数字 - Shell-Bash

在Shell-Bash中,有时候我们需要从字符串中提取数字,但字符串中可能包含了其他字符。下面介绍几种方法来仅获取字符串“bash”的数字。

1. cut命令

cut命令用于按列切分文件,也可以用来提取字符串中的一部分内容。可以使用-d选项指定分割符,-f选项指定要提取的字段。例如:

$ str="bash123"
$ echo $str | cut -c5-
123

这里的-c选项是为了删除前四个字符,然后输出剩下的字符,即数字“123”。

2. sed命令

sed命令是常用的用来编辑文件的命令,也可用于字符串操作。可以使用s命令来替换字符串中的内容,并使用g选项表示匹配到所有的内容。例如:

$ str="bash123"
$ echo $str | sed 's/[^0-9]*//g'
123

这里的正则表达式[^0-9]*表示匹配到所有不是数字的字符,并用空串替换,最终得到纯数字字符串“123”。

3. awk命令

awk命令是一种强大的文本处理工具,也可用于提取字符串中的数字。可以使用gsub函数来替换需要匹配的内容。例如:

$ str="bash123"
$ echo $str | awk '{gsub(/[^0-9]+/,""); print}'
123

这里的正则表达式[^0-9]+表示匹配到所有不是数字的字符,并用空串替换,最终得到纯数字字符串“123”。

以上是几种常用的方法,当然还有其他方式可以实现。根据实际情况选择最适合自己的方法即可。