regex - sed 命令在 solaris 中有效,但在 Linux 中无效

标签 regex linux bash shell sed

我是 shell 脚本和 sed 命令的新手。

以下 sed 命令在 Solaris 中有效,但在 Linux 中出错:

sed -n 's/^[a-zA-z0-9][a-zA-z0-9]*[ ][ ]*\([0-9][0-9]*\).*[/]dir1[/]subdir1\).*/\2:\1/p'

错误是:

sed: -e expression #1, char 79: Invalid range end

我不知道为什么会出现无效范围结束错误。

最佳答案

Linux Sed 似乎不喜欢您的A-z(两次)。无论如何,这真的没有意义。

使用[A-Z](大写Z)

关于regex - sed 命令在 solaris 中有效,但在 Linux 中无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31519953/

相关文章:

linux - 使用命令行将某些单词从一个文件复制到另一个文件

linux - grep -A <num> 直到一个字符串

Python/Regex - 括号和斜杠的扩展

正则表达式匹配由空格和/或换行符分隔的单词

python - 如何在所有正则表达式匹配之前/之后获取字符串的不匹配头/尾

linux - 美元符号字文件读取并分配给变量

c# - 如何使用正则表达式匹配类似 CSV 的字符串中的数字和数字范围?

linux - 复制的 bash 脚本文件,文件名中有附加字符

git - 具有特定于机器的变更集的点文件的版本控制

linux - 尝试使用 tailf -f 打印 json 部分的日志文件并保留标题未转换