旬のトピック、最新ニュースのマピオンニュース。地図の確認も。

なんとなくコマンド 第40回 文字数をカウントする(PowerShell)

2022年12月24日14時32分 / 提供:マイナビニュース

前回に続いて文字数をカウントするコマンドです。前回はUNIX系でしたが、今回はPowerShellを使います。PowerShellと言えばWindowsがメインですが、PowerShell Core登場以降はLinuxやmacOSでも動作します。と言っても完全に同じように動作するわけではありません。今回のような文字数をカウントするといった簡単なものであればWindows PowerShellでもPowerShell Coreでも同じように動作します。今回はPowerShell Coreをベースとして説明していきます。
macOS/LinuxでPowerShellをインストールしてみたいという人は以下のマイクロソフトの公式ページを参照してみてください。

https://learn.microsoft.com/ja-jp/powershell/scripting/install/installing-powershell?view=powershell-7.2

今回もこれまでのようにサンプルで利用するファイル・ディレクトリはデスクトップのsampleディレクトリとしています。デスクトップにsampleディレクトリがない場合は作成しておいてください(コマンド入力ならmkdir ~/Desktop/sampleとして作成することができます)。
また、カレントディレクトリも上記の場所になります。cd ~/Desktop/sampleのようにコマンドを入力してカレントディレクトリを変更しておけばよいでしょう。

○PowerShellで行数カウント

 今度はPowerShellで行数をカウントしてみましょう。PowerShellの場合はいくつか方法があります。まず、ファイル(オブジェクト)に対してLengthプロパティを使う方法です。
 カレントディレクトリにある1.txtの行数を表示するには以下のように指定します。

(Get-Content 1.txt).Length

ちなみにGet-Contentはエイリアスとしてcatが設定されているので以下のようにしても同じ結果になります。

(cat 1.txt).Length

PowerShellにはLengthプロパティ以外にCountプロパティもあります。以下のようにしても行数が出力されます。空白行もカウントされます。後述するMeasure-Objectの場合、空白行をカウントしないのでLength,Countを使った場合と結果が異なる場合がある点には注意が必要です。

(Get-Content 1.txt). Count

 Measure-Objectの説明は次に行うとして実際の実行結果を確認してみましょう。なお、比較するテキストファイルの内容は以下のようになっています。

 実際にMeasure-Objectを使った行数カウントは以下のようになります。Measure-Objectでは複数の空行はまとめられて1行としてカウントされているのがわかります。

Get-Content ./1.txt | Measure-Object -Line

Get-Content ./1n.txt | Measure-Object -Line

○より詳細に文字数などを調べる

 Length、Countでは行数しか求めることができません。文字数・単語数なども求めたい場合にはMeasure-Objectを使います(すでに使ってしまいましたが)。これがUNIX系でのwcに該当するようなものだと思ってよいでしょう。
 PowerShellでは、Measure-Objectを使うことでUNIX系のwcと似たような結果を求める事ができます。
 まず、先ほどと同様に指定したファイルの行数を求めてみます。この場合、Measure-Objectのオプションに-Lineを指定します。
 以下のようにすると1.txtファイルの行数が表示されます。

Get-Content ./1.txt | Measure-Object -Line

 文字数を求めたい場合はオプションに-Characterを指定します。

Get-Content ./1.txt | Measure-Object -Character

 単語の数であれば-Wordを指定します。

Get-Content ./1.txt | Measure-Object -Word

.

続きを読む ]

このエントリーをはてなブックマークに追加

関連記事

ネタ・コラムカテゴリのその他の記事

地図を探す

今すぐ地図を見る

地図サービス

コンテンツ

電話帳

マピオンニュース ページ上部へ戻る