与非 ASCII 字符匹配,而无需重复到外部二进制文件



假设我在grep中有以下正则表达式:

grep -E 'head x1E tail'

我可以使用其个人转义码x grep知道非ASCII字符。

我可以在不调用任何外部程序的情况下对 Bash 执行相同的操作吗?Bash 提供了 3 种匹配正则表达式的模式:

  1. 普通路径名扩展
  2. extglob 路径名扩展
  3. [ 字符串 =~ 正则表达式 ]]

这些似乎都不支持UTF转义代码,也不支持Bash本身。

在 bash 中,您可以使用 ANSI 引号字符串:

$ x=éclair
$ [[ $x =~ $'xc3xa9' ]] && echo matched
matched

请注意,您必须指定字符的 UTF-8 编码,因为 ANSI 引号字符串不接受任意 Unicode 代码点。

相关内容

  • 没有找到相关文章

最新更新