アプリ版:「スタンプのみでお礼する」機能のリリースについて

awkの文字列比較はPOSIXロケールまたはCロケールにおいてバイナリ値の比較に使えるか

gawkならできた気がした(環境変数POSIXLY_CORRECT=1または"--posix"オプション使用の上で)

たとえばLC_ALL=en_US.UTF-8だったら"a"と"A"の次に"b"と"B"が来ることになってる場合があったかも

Cロケール(または'POSIX'ロケール)のもとでは文字列の順序づけは0から127までは規定されてたんだけど(ソースは適当に持ってきてくれ、2008とか2017のバージョンにならあったろうけどSUSv2まで遡ったらちょっと怪しいかも)128から255まではどうだろうか
バイナリ値で順序づけられるものだろうか?

あとCロケールまたはPOSIXロケールを使えば文字列比較演算子でバイナリ比較ができるawkはどの実装があるか、逆にできないのはどの実装か

もしできなければバイナリ列(例えばUTF-8でかかれているテキストとか)を"od -A n -t u1 -v"とかで数値そのものに変換して処理してから、ということでもやろうかと考えている(その処理結果をxargs -n 1 printfに通すように加工または"printf ..."からなる行を生成してshに通すとか)

A 回答 (1件)

awkを使うより、perlのほうが使いやすいです。


awkの発展したのがperlみたいですからね。
ただ、希望の用途で使ったことないけど。
    • good
    • 0
この回答へのお礼

それな

だろうなとは思った
そんな回答出るなとは思ってた
現在気になっているのはawkの実装とか仕様とかである

お礼日時:2023/04/22 09:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!