このページの本文へ

前へ 1 2 次へ

Windows Info 第394回

コマンドの出力が長いとき、PowerShellではとりあえずselect-objectでなんとかする

2023年08月27日 10時00分更新

文● 塩田紳二 編集● ASCII

  • この記事をはてなブックマークに追加
  • 本文印刷

Unixではこの問題にどう対処してきたのか?

 Unixは、まだ端末装置が機械式で、出力装置がプリンターだった時代から使われてきた。プリンターの出力は、画面出力に比べて遅く、大量の情報を印字するのには不向きである。また、不要な出力は紙を消費してしまいコストもかかる。このため、Unixでは、コマンドの出力が多数になるような場合の対策が用意された。それがheadやtailコマンドである。これらは1974年に作られたPWB/UNIXで搭載された。

 headコマンドは、出力の先頭部分から指定された行数を出力し、tailコマンドは末尾から指定行数を出力する。引数を省略すると10行が仮定される。また、manページには記載がないが、オプション文字を省略して「-3」のような形式で行数を指定することもできる。これは、初期のUnixの記法で「-n 3」と同じ意味だ。ただし、これは、古い書式なので他のオプションとの組み合わせに制限がある。詳細はmanページなどを参照されたい。

 こうしたコマンドを使うことで、長い出力の一部を取り出せるようになっている。そのほかに、特定の文字列を検索するgrepコマンドやsedなどのテキスト処理プログラムがある。

 cmd.exeには、こうしたコマンドがほとんどなく、Unixから受け継いだのはmoreコマンドのみだが、PowerShellでは、Unixと同等の機能を持つコマンドがある。こうしたコマンドを使うことで、長いコマンド出力から一部を取り出すことが可能になる。

Select-Objectコマンド

 PowerShellで、大量のコマンド出力を扱うには、Select-Objectを使う。

 以下の表に、Select-Objectコマンドの主要なオプションを示した。Select-Objectには、大きく、行(配列要素)の出力制御とプロパティの出力制御の2つの機能がある(それ以外にもあるのだが、今回は省略)。

 行の制御では、「-First」「-Last」で先頭、末尾からの出力要素数を指定できる。両方を同時に指定すると、先頭のn個、末尾のm個となる。これに対して出力しない要素を先頭、末尾から指定するには、「-Skip」「-SkipLast」を使う。これらのコマンドは組み合わせて利用できる。

 もう1つの行の制御は、0から始まるインデックス番号で出力の可否を行うもの。インデックス番号はカンマで区切って複数指定できるほか、範囲式をカッコで括ったものを使うことができる。たとえば、「(2..7)」は、「2,3,4,5,6,7」と同じになる。このタイプのオプションでは、特定の行のみを出力する「-Index」と「-SkipIndex」がある。なお、この2つのオプションは同時には指定できない。「行制御」コマンドとも一緒には使えない。

 「-uniq」は、コマンド出力に、重複するオブジェクトが含まれている場合にそれを1つだけ残して残りを削除する。オブジェクトが単純な文字列や数値であれば、単に重複の削除になるが、複雑なオブジェクトではプロパティと値の組がすべて等しいかどうかで判断される。また、このオプションの優先順位は低く、他のオプションの処理が先にされ、最後に重複が堅守される。ただし、前記の行制御コマンドやインデックス行制御コマンドのどれとも同時に指定が可能だ。

 Select-Objectのもう1つの役割は、オブジェクトのプロパティの出力だ。前述のようにコマンドからオブジェクトを直接コンソールに出力するときには、自動で書式が設定され、利用頻度が高いと思われるプロパティのみが表示される。

 しかし、Select-Objectコマンドをパイプラインで接続することで、出力するプロパティ(あるいは出力しないプロパティ)を指定できる。このとき、プロパティ名にはワイルドカード('*')が利用できる。たとえば、「Select-Object *」とすることで、すべてのプロパティを出力できる。なお、プロパティ関連のオプション(省略された-Propertyオプションを含む)を何も指定しないと、出力は自動書式設定される。

 似たような機能にFormat-TableやFormat-Listコマンドがあるが、これらは書式設定のコマンドであり、出力はFormatオブジェクト(Microsoft.PowerShell.Commands.Internal.Formatオブジェクト)になる。しかし、Select-Objectの出力は、元のオブジェクトのままでプロパティのみが指定されたものになる。また、Format-系コマンドは、Select-Objectの-Firstのような行制御のオプションを持たない。

 Select-Objectコマンドは、基本的なコマンドといってよく、使い方に慣れることで、PowerShellでの作業がラクになるはずだ。

前へ 1 2 次へ

カテゴリートップへ

この連載の記事
1
【整備済み品】 富士通 ノートパソコン LIFEBOOK MU937 超軽量 薄型ノートPC■Win11搭載 / MS Office H&B 2019 / FHD(1920x1080)/第七世代 Celeron/8GBメモリ/SSD 256GB/Webカメラ内蔵/13.3インチ
【整備済み品】 富士通 ノートパソコン LIFEBOOK MU937 超軽量 薄型ノートPC■Win11搭載 / MS Office H&B 2019 / FHD(1920x1080)/第七世代 Celeron/8GBメモリ/SSD 256GB/Webカメラ内蔵/13.3インチ
¥19,800
2
Lenovo ノートパソコン パソコン IdeaPad Slim 3 14.0インチ 第13世代 インテル® Core™ i5 プロセッサー搭載 13420H メモリ16GB SSD512GB MS Office 2024搭載 Windows11 バッテリー駆動14.1時間 重量1.39kg ルナグレー 83K00072JP ノートPC
Lenovo ノートパソコン パソコン IdeaPad Slim 3 14.0インチ 第13世代 インテル® Core™ i5 プロセッサー搭載 13420H メモリ16GB SSD512GB MS Office 2024搭載 Windows11 バッテリー駆動14.1時間 重量1.39kg ルナグレー 83K00072JP ノートPC
¥107,800
3
【整備済み品】中古 ノートパソコン NEC VersaPro VKT16/15.6型・第8世代Core i5-8250U(最大動作3.4GHz)/快適メモリ8GB/ 高速SSD 256GB/Win11 Pro/MS Office 2019付属/テンキー付, Webカメラ, USB3.0, HDMI, VGA, 有線LAN, WIFI内蔵, Bluetooth/ACアダプター付属/180日間保証
【整備済み品】中古 ノートパソコン NEC VersaPro VKT16/15.6型・第8世代Core i5-8250U(最大動作3.4GHz)/快適メモリ8GB/ 高速SSD 256GB/Win11 Pro/MS Office 2019付属/テンキー付, Webカメラ, USB3.0, HDMI, VGA, 有線LAN, WIFI内蔵, Bluetooth/ACアダプター付属/180日間保証
¥26,880
4
【整備済み品】富士通 ノートパソコン LIFEBOOK U9310 13.3型FHD(1920x1080) 超軽薄 ノートPC/第10世代 Core i5-10310U@1.7GHz/ 8GB メモリ/高速ストレージ SSD/Webカメラ/WIFI/Type-C/HDMI/win11&MS Office 2019 搭載 ビジネス 在宅勤務向け パソコン (メモリ:8GB/SSD:256GB)
【整備済み品】富士通 ノートパソコン LIFEBOOK U9310 13.3型FHD(1920x1080) 超軽薄 ノートPC/第10世代 Core i5-10310U@1.7GHz/ 8GB メモリ/高速ストレージ SSD/Webカメラ/WIFI/Type-C/HDMI/win11&MS Office 2019 搭載 ビジネス 在宅勤務向け パソコン (メモリ:8GB/SSD:256GB)
¥36,979
5
HP ノートパソコン 15-fd 15.6インチ インテル Core Ultra 5 125H メモリ16GB SSD512GB Windows 11 Microsoft Office 2024搭載 WPS Office搭載 カメラシャッター 指紋認証 薄型 Copilotキー搭載 ナチュラルシルバー (BJ0M7PA-AAAF)
HP ノートパソコン 15-fd 15.6インチ インテル Core Ultra 5 125H メモリ16GB SSD512GB Windows 11 Microsoft Office 2024搭載 WPS Office搭載 カメラシャッター 指紋認証 薄型 Copilotキー搭載 ナチュラルシルバー (BJ0M7PA-AAAF)
¥134,377

Amazonのアソシエイトとして、ASCII.jpは適格販売により収入を得ています。

ASCII倶楽部

注目ニュース

  • 角川アスキー総合研究所

プレミアム実機レビュー

ピックアップ
1
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
¥1,880
2
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
¥1,890
3
【Amazon.co.jp限定】バッファロー microSD 32GB 100MB/s UHS-1 U1 microSDHC【 Nintendo Switch 対応 】V10 A1 IPX7 Full HD RMSD-032U11HA/N
【Amazon.co.jp限定】バッファロー microSD 32GB 100MB/s UHS-1 U1 microSDHC【 Nintendo Switch 対応 】V10 A1 IPX7 Full HD RMSD-032U11HA/N
¥980
4
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
¥740
5
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
¥990
6
【Amazon.co.jp限定】 ロジクール 静音 ワイヤレス トラックボール マウス M575SPd Bluetooth Logibolt 無線 windows mac iPad OS Chrome トラックボールマウス ブラック M575 M575SP 国内正規品 ※Amazon.co.jp限定 壁紙ダウンロード付き
【Amazon.co.jp限定】 ロジクール 静音 ワイヤレス トラックボール マウス M575SPd Bluetooth Logibolt 無線 windows mac iPad OS Chrome トラックボールマウス ブラック M575 M575SP 国内正規品 ※Amazon.co.jp限定 壁紙ダウンロード付き
¥5,280
7
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
¥980
8
キヤノン Canon 純正 インクカートリッジ BCI-381(BK/C/M/Y)+380 5色マルチパック BCI-381+380/5MP 長さ:5.3cm 幅:13.9cm 高さ:10.75cm
キヤノン Canon 純正 インクカートリッジ BCI-381(BK/C/M/Y)+380 5色マルチパック BCI-381+380/5MP 長さ:5.3cm 幅:13.9cm 高さ:10.75cm
¥5,545
9
バッファロー SDカード 128GB 100MB/s UHS-1 スピードクラス1 VideoSpeedClass10 IPX7 Full HD データ復旧サービス対応 RSDC-128U11HA/N
バッファロー SDカード 128GB 100MB/s UHS-1 スピードクラス1 VideoSpeedClass10 IPX7 Full HD データ復旧サービス対応 RSDC-128U11HA/N
¥1,980
10
バッファロー USBメモリ 32GB USB3.2(Gen1)/3.1(Gen 1)/3.0/2.0 充実サポート RUF3-K32GA-BK/N
バッファロー USBメモリ 32GB USB3.2(Gen1)/3.1(Gen 1)/3.0/2.0 充実サポート RUF3-K32GA-BK/N
¥880

Amazonのアソシエイトとして、ASCII.jpは適格販売により収入を得ています。

デジタル用語辞典

ASCII.jpメール デジタルMac/iPodマガジン