gpt4 book ai didi

linux - 如何从 Bash 中的字符串中删除所有非数字字符?

转载 作者:IT老高 更新时间:2023-10-28 12:37:59 30 4
gpt4 key购买 nike

例子:

file="123 hello"

如何编辑字符串 file 使其仅包含数字而删除文本部分?

所以,

echo $file

应该只打印 123

最佳答案

这是 sed 的一种方式:

$ echo $file | sed 's/[^0-9]*//g' 
123
$ echo "123 he23llo" | sed 's/[^0-9]*//g'
12323

或者用纯bash:

$ echo "${file//[!0-9]/}" 
123
$ file="123 hello 12345 aaa"
$ echo "${file//[!0-9]/}" 
12312345

要将结果保存到变量本身,请执行以下操作

$ file=$(echo $file | sed 's/[^0-9]*//g')
$ echo $file
123

$ file=${file//[!0-9]/}
$ echo $file
123

关于linux - 如何从 Bash 中的字符串中删除所有非数字字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19724531/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com