Understanding sed/awk ^ , and [ ]



首先,有没有比使用 sed 和 awk 更好的命令行 Linux 方法来处理使用 wget 下载的 HTML 页面中的文本?如果是这样,请告诉我或链接到文档。

其次,我对以下表达方式感到困惑...既然^从新行的开头搜索,为什么空白gsub(/[^a-z]]*/, " ")替换非字母字符,逗号,在这里做什么?为什么这个表达方式有无与伦比的]

对于 HTML 的处理,您需要描述要对处理执行的操作。

^字符不在字符类中时,它充当"行首",并且可以指示行的开头(例如,如果正则表达式/^[^a-z]/)。 当它位于字符类(括在方括号中,[])内并且是第一个字符时,则它是一个元字符,意思是"除以下字符之外的任何内容"。

gsub函数是全局搜索和替换操作:

gsub(/[^a-z]]*/, " ")

表示"替换不在 A-Z 中并后跟零个或多个右方括号的任何内容,并用空格(双引号中的字符串" ")。 逗号是参数分隔符,将正则表达式参数与替换字符串参数分开。正则表达式中的第二个右方括号令人惊讶;这很容易是一个错误。

因为gsub函数没有第三个参数,所以它在当前输入行$0上运行。

相关内容

  • 没有找到相关文章

最新更新