bash - Bash 脚本变量语法
问题描述
我是 bash 脚本的新手。我正在尝试编写一个脚本,用于搜索具有“Jxxx”形式的四个字母/数字字符串,其中 x 可以是 AZ 或 0-9。如何将其表示为 bash 中的变量?非常感谢
解决方案
变量只包含 Bash 中的静态内容——你想要的是一个正则表达式,又名。“正则表达式”,在您的情况下最简单的表示为J[A-Z0-9][A-Z0-9][A-Z0-9]
. 您可以将它与许多程序一起使用以匹配文件中的文本:
$ cat > my.txt << EOF
JAA
JAAA
JZ0Z
J00
foo
EOF
$ grep 'J[A-Z0-9][A-Z0-9][A-Z0-9]' my.txt
JAAA
JZ0Z
或文件名:
$ touch JAA JAAA JZ0Z J00 foo
$ find . -name 'J[A-Z0-9][A-Z0-9][A-Z0-9]'
./JZ0Z
./JAAA
推荐阅读
- java - 如何使用 Maven 插件制作包含资源的可执行 jar
- excel - Excel - 获取最后一场比赛
- python - 在 Python 中使用多处理填充多个列表
- java - 使用 spring-boot 将多维数据集插入 postgres 数据库
- qt - 在 microsoft visual studio 2019 中生成 moc 文件
- vba - 如何根据特定单元格上的值在 Excel 中触发 VBA 宏?
- design-patterns - 使用字符串与枚举作为工厂方法的参数?
- reactjs - Flow Cadence 未能在执行节点上执行脚本:rpc error: code = DeadlineExceeded desc = context deadline exceeded
- ios - SwiftUI:允许用户通过按下按钮启用画中画(iOS)
- regex - 如何懒惰地回溯正则表达式匹配?