メモの日々


2021年12月03日(金) [長年日記]

[windows] PowerShellでcat, head, tail, tail -f, 文字エンコーディング指定

PowerShell上でcatはGet-Contentのエイリアスになっている。 このGet-Contentには次のようなオプションがあるということをメモ。

  • 先頭部分のみ取得: -TotalCount <行数>
  • 末尾部分のみ取得: -Tail <行数>
  • 追記を待機(tail -fみたいなの): -Wait
  • 文字エンコーディング指定: -Encoding <エンコーディング名>

使える文字エンコーディング名はPowerShellのバージョンによって違うみたい。エラーメッセージ内に使えるエンコーディング名が記されていた。小文字でもOK。

Get-Content : パラメーター 'Encoding' をバインドできません。値 "utf-8" を型 "Microsoft.PowerShell.Commands.FileSystemCmdletProviderEncoding" に変換できません。エラー: "識別子名 utf-8 は有効な列挙子名に一致しません。次のいずれかの列挙子名を指定して再試行してください:

Unknown, String, Unicode, Byte, BigEndianUnicode, UTF8, UTF7, UTF32, Ascii, Default, Oem, BigEndianUTF32"