regex - awk 正则表达式

标签 regex linux awk

我正在学习 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/

相关文章:

awk - 获取模式匹配前后的所有行,直到出现空行

regex - 如何使用 FFmpeg 从 Mp3 中提取歌词(USLT 帧)?

linux - 使用 wait_event_interruptible_timeout 判断设备驱动程序是否超时

awk - 容忍子集 .fastq 不匹配的 Grep

linux - 使用shell脚本将行插入到linux中的新文件中

linux - 如何将一行 Bash 脚本分隔成多行?

bash - AWK - 比较后打印完整的输入字符串

java - 使用正则表达式验证数字和货币

java - 用于检查 "Must contain English Alphabets & Can contain either Digit/Dot/Hyphen/Space"的 Java 正则表达式是什么?

javascript - JavaScript 中用于 token 替换的正则表达式