Bash 脚本中的正则表达式

标签 regex linux bash

我想写一个匹配 fooo-1234567890.csv 的正则表达式 这是我试过的:

if [[ $path == *.csv ]]; then if [[ $path =~ ^.*-\d{10}.csv$ ]]; then echo "COOL"; fi; fi;

但不幸的是它不打印“COOL”。

最佳答案

bash 不理解 \d。请说 [0-9]

[[ $path =~ ^.*-[0-9]{10}\.csv$ ]]

此外,转义 . 以匹配文字 ..

关于Bash 脚本中的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21047787/

相关文章:

javascript - 字母数字和某些特殊字符的正则表达式

regex - 如何在 perl 正则表达式中跨换行符匹配?

javascript - 验证逗号分隔的电子邮件列表

linux - 为什么Linux不需要驱动程序

python - bash脚本将整数作为参数并添加它们

bash - 更改子进程中的环境变量 - bash

linux - 获取不存在文件的数量

regex - 如何在正则表达式中匹配多个字符?

linux - 统计linux系统上有多少进程持有一个文件

linux - pthread_create 中的段错误