[英]Understanding sed/awk ^ , and [ ]
首先,是否有比使用sed和awk更好的命令行Linux处理从wget下载的HTML页面中的文本的方法? 如果是这样,请告诉我或链接到doc。
其次,我对以下表达式感到困惑...因为^
从新行的开头开始搜索,为什么空白gsub(/[^az]]*/, " ")
替换非字母字符,逗号是什么,
在这里吗? 为什么在此表达式中有不匹配的]
?
对于HTML的处理,您需要描述要处理的内容。
当^
字符不在字符类中时,它可以用作“行的开始”,并且可以指示行的开始(例如,如果正则表达式为/^[^az]/
)。 当它在字符类内(括在方括号[]
)并且是第一个字符时,则它是一个元字符,表示“除以下字符外的任何字符”。
gsub
函数是全局搜索和替换操作:
gsub(/[^a-z]]*/, " ")
意思是“用z代替任何不在az中的内容,然后用零个或多个接近的方括号替换为空白(双引号中的字符串" "
)。 逗号是参数分隔符,用于将正则表达式参数与替换字符串参数分隔开。 正则表达式中的第二个方括号令人惊讶; 这很容易是一个错误。
因为gsub
函数没有第三个参数,所以它将在当前输入行$0
上操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.