つれづれ電脳記(日くらしPCに向かひて)

つれづれなるままに、日くらしPCに向かひて、その悪戦苦闘ぶりをそこはかとなく書き付くるおじさん。たまに雑談[管理人:goosyun]

つれづれなるままに、日くらしPCに向かひて、デジタル関係の悪戦苦闘ぶりをそこはかとなく書き付くるおじさんです。
たまに雑談してます。連絡・問い合わせフォームは、ページ最下部に置いています。[著者(運営人):goosyun]

(当ブログには本文中に広告リンクが含まれています。)

PowerShellでの大文字と小文字の区別

 Windows OS のコマンドラインシェル PowerShell *1を、あれこれ、いろいろと試しています。
 左右等しいかを比較する比較演算子は、PowerShellでは「-eq」です。VBAでは「=」で、また、awkでは、「==」です。
 なんで違うんだよぉ、って言ったって無駄です。英語と日本語の違いみたいなもんですから。
 そこで、下図のスクリプトを試してみました。
 "hogehoge" -eq "HogeHoge" だから、「左右異なる」との結果が出ると思いきや、「左右等しい」と出てきました。

左右の文字列を比較するPowerShellスクリプト

 実は、PowerShellにおいては、大文字と小文字の区別をしないのです。ですから、"hogehoge" と "HogeHoge"は同じと扱います。Linux環境などとは大きな違いです。例えばLinuxで、大文字と小文字を区別しないでgrep検索をするときは、わざわざ「-i」オプションを付けます。
 「なんで、違うんだよぉ。」って、つい、言いたくなります。けど、無駄です。英語と日本語の違いみたいなもんですから。
 ちなみに、「等しい」の演算子-eqの頭に「c」を付加して、「-ceq」とすると、大文字と小文字を区別します。
 つまり、"hogehoge" -ceq "HogeHoge" の結果は、「異なる」と出ます。

 それではまた次の記事で。
   goosyun

 

*1:現行のPowerShell バージョン7では、クロスプラットフォームとなっています。