このページの本文へ

前へ 1 2 次へ

Windows Info 第380回

Windowsにおける改行文字の扱い

2023年05月21日 10時00分更新

文● 塩田紳二 編集● ASCII

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

PowerShellでのテキストモードとバイナリモード

 PowerShellのコマンドの中には、直接ファイルを読み込んで処理できるものが60個程度ある。これらは、基本的にはテキストモードを使う。たとえば、文字列検索のSelect-Stringコマンドは、テキストモードでファイルを読み込んで文字列検索をする。

 このコマンドに限らず、テキストモードで読み込まれたテキストファイルは、行末文字が内部コードに置き換わるので、検索などで行末文字を見つけることができないことが多い。この点には注意しないと、複数行にまたがるパターンを検索しようとしてうまくいかなくなることがある。

 正規表現エンジンにも、シングルラインモード、マルチラインモードといった動作モードがある。マルチラインモードでは、行末文字を認識して複数行のテキストとして検索をする。このため、行末文字自体を検索することはできず、代わりに文頭や文末を表わすアンカーを利用する。もちろん、行末文字は読み込み時に変換されてしまうので、行末文字を表わすエスケープ文字「\n」などもヒットしない。

 これに対してシングルラインモードでは、行末文字も普通の文字のように扱われ、たとえば、任意の1文字を表わす「.」に行末文字がヒットするようになる。この場合、アンカーは検索対象の先頭と末尾にしか一致しなくなる。しかし、複数行にまたがるパターンを検索できるようになる。

 なお、Windowsでは、シングルラインモードのときの行末文字CRLFは、「\r\n」と指定する必要がある。シングルラインモードでは、行末文字がどうなっているのかを理解しておく必要がある。

 前述のように、ファイルをテキストとして扱うかどうかは、プログラムの問題である。PowerShellのコマンドのほとんどは、ファイルをテキストモードで読み込む、このため、多くの場合は複数行にまたがる処理ができない。

 バイナリモードでファイルを扱いたい場合、Get-Contentコマンドに「-Raw」オプションを付けて読み込み、これをコマンドで処理する。こうして読み込まれたファイルなら、select-stringコマンドで行末文字を含む部分を探すこともできる。たとえば、行末文字を含むパターン「1\nT」のようなパターンを検索したければ、

Get-Content -Raw <ファイルパス> | select-String '1\nT

とする。

Get-Content -Rawオプションを使うと、バイナリモードでファイルが読み込まれ、改行文字がそのままの状態になる。このため、行末文字CR(\r)やLF(\n)を含めることで、複数行にわたる検索ができるようになる

 逆に「-Raw」オプションがなければ、Get-Contentコマンドは、ファイルをテキストモードで読み込み、パイプには分解された複数のテキスト行を送り出す。この場合、後続のSelect-Stringコマンドでは、これを1行1行個別に検索処理をするため、複数行にわたるパターンを検索することができず、行末文字も見つからない。

 行末文字を扱えるかどうかは、コマンド自体の問題である。ファイルを直接読み込めるPowerShellの大半のコマンドは、テキストモードで動作している。これを理解しないと、Select-Stringコマンドで直接ファイルを読み込んだとき、行末文字が見つからなくて悩むことになりかねない。バイナリモードでファイルを扱いたいならば、必ずGet-Contentコマンドで「-Raw」オプションを使う。

 テキストファイルと普通に呼んでいるため、世の中には「テキストファイル」という特別なファイルが存在するかのような気がしているが、実際には、テキストファイルは約束事でしかない。テキストファイルをテキストファイルとして成り立たせているのは、これを読み込むプログラムであるということは、きちんと理解しておいたほうがいいだろう。

前へ 1 2 次へ

カテゴリートップへ

本記事はアフィリエイトプログラムによる収益を得ている場合があります

この連載の記事
1
Apple 2026 MacBook Neo A18 Proチップ搭載13インチノートブック:AIとApple Intelligenceのために設計、Liquid Retinaディスプレイ、8GBユニファイドメモリ、256GB SSDストレージ、1080p FaceTime HDカメラ - インディゴ
Apple 2026 MacBook Neo A18 Proチップ搭載13インチノートブック:AIとApple Intelligenceのために設計、Liquid Retinaディスプレイ、8GBユニファイドメモリ、256GB SSDストレージ、1080p FaceTime HDカメラ - インディゴ
¥95,768
2
Apple 2026 MacBook Air M5チップ搭載13インチノートブック:AIとApple Intelligence、13.6インチLiquid Retinaディスプレイ、16GBユニファイドメモリ、512GB SSDストレージ、12MPセンターフレームカメラ、日本語キーボード、Touch ID - シルバー
Apple 2026 MacBook Air M5チップ搭載13インチノートブック:AIとApple Intelligence、13.6インチLiquid Retinaディスプレイ、16GBユニファイドメモリ、512GB SSDストレージ、12MPセンターフレームカメラ、日本語キーボード、Touch ID - シルバー
¥176,465
3
【整備済み品】富士通 ノートパソコン 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)
¥35,129
4
【整備済み品】 富士通 タブレット ノートパソコン ARROWS Tab V727 12.3インチ 中古 タブレット【Windows 11 】【MS Office2019 H&B 搭載 】第7世代 Core M3/ メモリ 4GB / SSD 128GB /無線LAN/HDMI/LTE/タッチペン 付属(整備済み品)
【整備済み品】 富士通 タブレット ノートパソコン ARROWS Tab V727 12.3インチ 中古 タブレット【Windows 11 】【MS Office2019 H&B 搭載 】第7世代 Core M3/ メモリ 4GB / SSD 128GB /無線LAN/HDMI/LTE/タッチペン 付属(整備済み品)
¥11,800
5
Lenovo ノートパソコン パソコン IdeaPad Slim 3 15.3インチ AMD Ryzen™ 7 7735HS メモリ16GB SSD512GB MS Office搭載 Windows11 バッテリー駆動17.4時間 重量1.59kg ルナグレー 83K700HAJP ノートPC
Lenovo ノートパソコン パソコン IdeaPad Slim 3 15.3インチ AMD Ryzen™ 7 7735HS メモリ16GB SSD512GB MS Office搭載 Windows11 バッテリー駆動17.4時間 重量1.59kg ルナグレー 83K700HAJP ノートPC
¥164,780

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
¥2,373
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
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
4
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
¥1,080
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
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ブラック T-K6A-2630BK
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ブラック T-K6A-2630BK
¥1,899
7
NIMASO ガラスフィルム iPad 第11世代(A16) 2025用/iPad 10.9インチ 第10世代 2022用 衝撃吸収 強化 ガラス 保護フィルム 指紋防止 ガイド枠付き NTB22I574
NIMASO ガラスフィルム iPad 第11世代(A16) 2025用/iPad 10.9インチ 第10世代 2022用 衝撃吸収 強化 ガラス 保護フィルム 指紋防止 ガイド枠付き NTB22I574
¥1,599
8
UGREEN USB Type Cケーブル PD対応 100W/5A 超急速充電 USB C ナイロン編み 断線防止 iphone17/16/15シリーズ/iPad/MacBook Pro/Galaxy S24/Matebook/iPad/Xperia等USB-C各種対応(1m, ブラック)
UGREEN USB Type Cケーブル PD対応 100W/5A 超急速充電 USB C ナイロン編み 断線防止 iphone17/16/15シリーズ/iPad/MacBook Pro/Galaxy S24/Matebook/iPad/Xperia等USB-C各種対応(1m, ブラック)
¥1,299
9
Apple 11 インチ iPad (A16): 11 インチモデル、Liquid Retina ディスプレイ、128GB、Wi-Fi 6、12MP フロント/12MP バックカメラ、Touch ID、一日中使えるバ ッテリー - ブルー
Apple 11 インチ iPad (A16): 11 インチモデル、Liquid Retina ディスプレイ、128GB、Wi-Fi 6、12MP フロント/12MP バックカメラ、Touch ID、一日中使えるバ ッテリー - ブルー
¥56,364
10
【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限定 壁紙ダウンロード付き
¥8,061

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

デジタル用語辞典

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