我正在学习 AWK 中的正则表达式。在 AWK 中 [^ ]
匹配不在里面的任何字符。现在我需要提取那些不属于任何单词的“a”。
如果我的输入文件是
a
aa
a+a
.a.a
bac
输出将是
a+a
.a.a
因为 a+a 和 .a.a 不是任何单词所以这些行被打印出来。 所以我做了这样的事情
awk '/[^[a-z]]a[^[a-z]]/ {print} input_file'
但这行不通。请帮忙!
最佳答案
这可能是您想要的:
$ awk '/[^[:alpha:]]a|a[^[:alpha:]]/' file
a+a
.a.a
取决于您希望如何处理输入文件中的 a.
和 .a
。
关于regex - awk 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38905598/