bash - 从文件名中提取数字

标签 bash sed

在 BASH 中,我想使用 sed,但不知道如何提取模式而不是通常的替换。

例如:

FILENAME = 'blah_blah_#######_blah.ext'

密码数量(在上面的例子中用“#”代替)可以是 7 或 10

我只想提取数字

最佳答案

如果您只需要删除数字以外的任何内容,您可以使用

ls | sed -e s/[^0-9]//g

获取每个文件名分组的所有数字(123test456.ext 将变为 123456),或者

ls | egrep -o [0-9]+

对于所有数字组(123test456.ext 将出现 123 和 456)

关于bash - 从文件名中提取数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7301026/

相关文章:

bash - macOS High Sierra 上的参数替换错误替换错误

linux - 如何检查用户是否存在于多个服务器的列表中?

awk - 第三行的总和并相应地划分行

Linux bash脚本逐行删除部分字符串

linux - 需要删除文件每三行的最后一列

linux - awk 向文本添加颜色代码

linux - 如何在kshell中获取前几天的日期

json - 在bash中用awk/sed解析json得到键值对

AWK:如何实现编号自增?

python - 如果一行包含专用区域字符,如何删除它?