アップデート:以降でMacOSのビッグサー(11.0) 、sed
今んサポートしI
、大文字と小文字を区別しないマッチングのためのフラグを、当該コマンドは、今(BSDが作業をする必要がありますので、sed
そのバージョンを報告しませんが、あなたが一番下にある日付で行くことができますman
あるべきページ、March 27, 2017
またはより最近の); 簡単な例:
$ sed 's/ö/@/I' <<<'FÖO'
F@O
注:(I
大文字)はフラグの文書化された形式ですがi
、同様に機能します。
同様に、始まるMacOSのビッグサー(11.0)は awk
、今あるロケール対応(awk --version
報告しなければならない20200816
以上、最近):
$ awk 'tolower($0)' <<<'FÖO'
föo
以下は、Catalina(10.15)までのmacOSに適用されます。
明確にするために:macOSでは、BSDの実装sed
であり、 大文字と小文字を区別しないマッチングをサポートしていません。信じがたいことですが、本当です。以前は受け入れ答え自体が示し、GNUの sed
コマンドは、理由のその地位を獲得したperl
コメントで述べたベースのソリューション。
そのPerlソリューションをUTF-8を介して外国文字でも機能させるには、次のようなものを使用します。
perl -C -Mutf8 -pe 's/öœ/oo/i' <<< "FÖŒ" # -> "Foo"
-C
現在のロケールがUTF-8ベースであると想定して、ストリームとファイルのUTF-8サポートをオンにします。
-Mutf8
解釈するにはPerlを指示するソースコードを(この場合は、文字列が渡さUTF-8など-pe
) -これはより冗長の短い同等である-e 'use utf8;'.
おかげで、マーク・リード
(注ことを使用すると、awk
いずれかのオプションではない、としてawk
MacOSで(すなわち、BWKのAWKとBSDのawkは)完全にロケールを全く知らないように見える-そのtolower()
およびtoupper()
機能は、(外国の文字を無視し、sub()
/gsub()
開始する場合、鈍感フラグを持っていませんと))
POSIX標準sed
との関係に関する注記awk
:
BSDはsed
、awk
その機能を主にPOSIXsed
および
POSIXawk
仕様で義務付けられているものに制限しますが、GNUの対応物はさらに多くの拡張機能を実装します。
I
sedのコピーでは使用できない可能性のあるGNU拡張機能です。