linux - 如何从 bash 中的字符串中获取数值

标签 linux bash shell sed

我有一个 xml 文件,我只想从文件中的字符串中提取数值。我想出的解决方案之一是

cat file.xml |grep -i "mu "| grep -o '[0-9]'

但我得到的每个数字都用新行分隔,例如 100,我得到 1,然后是新行,然后是 0,依此类推。我想出的另一个解决方案是

cat file.xml |grep -i "mu "|cut -d ' ' -f 4| tr '=' ' '|cut -d ' ' -f2|tr '""' ' '|sed -e 's/^ *//g' -e 's/ *$//g'

我的问题:是否有更简单的解决方案来解决这个问题,我只从一行中获取一个数值而不关心字段并且不使用 cuttr 命令?

最佳答案

使用这个egrep:

egrep -o '[0-9]+'

关于linux - 如何从 bash 中的字符串中获取数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20150459/

相关文章:

python - 如何通过管道将子进程调用传递给文本文件?

linux - cut 命令分隔输出并添加它们

java - 在 Java 中创建一个 Nohup 进程

linux - 通过命令行关闭以应用程序模式打开的谷歌浏览器

bash - 在运行时替换 json 中的值

linux - 默认情况下,如何将帮助结果通过管道传递给 less?

python - python中奇怪的换行符错误

javascript - 将简单的温度 bash 脚本转换为 javascript

bash - 陷入在 bash 中动态分配关联数组的困境

linux - Unix Shell 脚本中浮点值的关系运算符