gnu awk是否支持POSIX equivalence classes?awk和等價類
使用awk可以匹配[[= a =]],因爲它是在grep中完成的嗎?
$ echo ábÅ | grep [[=a=]]
ábÅ
$ echo ábÅ | grep -o [[=a=]]
á
Å
gnu awk是否支持POSIX equivalence classes?awk和等價類
使用awk可以匹配[[= a =]],因爲它是在grep中完成的嗎?
$ echo ábÅ | grep [[=a=]]
ábÅ
$ echo ábÅ | grep -o [[=a=]]
á
Å
根據GAWK User's Guide,「注意:gawk用於正則表達式匹配的庫函數目前僅識別POSIX字符類;它們不識別整理符號或等價類。」
因此,你將不得不在正則表達式/[aáÅ]/
或任何你正在尋找的東西寫出允許的等價物。
有區域意識的字符範圍,但似乎並不是你問的。
見here,接近尾聲:
特定場所的名稱爲相等的字符列表。名字被包含在'[='和'=]'之間。例如,名稱'e'可以用來表示所有的「e」,「ê」,「è」和「é」。在這種情況下,'[[= e =]]'是一個匹配的正則表達式'e','ê','é'或'è'中的任何一個。
這些功能在非英語區域設置中非常有用。
注意:gawk用於正則表達式匹配的庫函數目前僅識別POSIX字符類;他們不識別整理符號或等價類。
當然,我找到了。但是我不明白,是否可以將它與gawk一起使用。 –
是的,剛剛開始與它自己戰鬥,顯然不是。 –
那麼,這是不可能的?這太遺憾了......( –
)這是一個無用的東西,除非底層庫得到了增強,否則你必須手工寫出等價物或者使用shell來讓另一個程序完成工作。 –