Posix

“在 POSIX 語言環境中”是什麼意思?

  • March 8, 2020

這個問題中有一條評論說:

所有這一切都源於不理解“在 POSIX 語言環境中”的含義。(-: 你真的應該嘗試將希臘小寫字母與 (say) sed 和

$$ [:lower: $$] 和一個方便的 el_GR.UTF-8 語言環境集。– JdeBP

那麼:“在 POSIX 語言環境中”是什麼意思?

獎勵:這在 C 以外的語言環境中的 POSIX 中有效嗎?

LC_ALL=C grep '[[:lower:]]' file

當 POSIX 說(對於“上”)

在 POSIX 語言環境中,僅:

ABCDEFGHIJKLMNOPQRSTU VWXYZ

應包括:

它定義了 POSIX 語言環境。這意味著在 POSIX 語言環境的上下文中,“上層”字元類僅由列出的字元組成。

POSIX 沒有定義任何其他語言環境,但係統可以自由地這樣做。因此grep '[[:lower:]]' file,如果您將自己限制為僅使用 POSIX,則不能依賴於在 POSIX 以外的語言環境中做任何有用的事情。但是,許多系統確實定義了其他語言環境及其字元類。例如,在使用 GNU C 庫語言環境的系統上,

$ echo 'α' | LC_ALL=el_GR.UTF-8 grep '[[:lower:]]'
α

引用自:https://unix.stackexchange.com/questions/571842