「プログラミング」カテゴリーアーカイブ

PowerShellでテキストファイルから特定の行だけ抽出する方法

テキストファイルを処理して「特定の行だけ抜き出したい」という場面は、ログ解析やデータ処理を行う際によくあります。PowerShellを使えば、シンプルなコマンドで効率的に抽出可能です。本記事では、PowerShellによる代表的な方法を解説します。


基本的な考え方

PowerShellでは、Get-Content コマンドレットでテキストファイルを1行ずつ取得できます。そこから条件を指定して、欲しい行をフィルタリングすれば目的の行を抽出できます。


方法1:行番号で抽出する

特定の行番号を指定して抽出するには配列インデックスを利用します。PowerShellは0から数えるので注意しましょう。

複数行をまとめて取得することも可能です。


方法2:条件で抽出する(文字列検索)

キーワードを含む行だけを抽出するには Select-String を使います。

この場合、ヒットした行番号と内容が出力されます。内容だけ欲しい場合は以下のように書けます。

 

方法3:正規表現で抽出する

複雑な条件にマッチさせたい場合は正規表現を活用できます。


方法4:範囲指定で抽出する

特定の行範囲を取り出したい場合は Select-Object を利用します。


まとめ

  • 行番号で取得 → 配列インデックス

  • キーワードで取得Select-String

  • 複雑条件 → 正規表現

  • 範囲指定Select-Object

PowerShellを使えば、テキストファイルの解析や必要な行だけの抽出を簡単に自動化できます。ログファイル処理やデータ前処理など、日々の作業効率化にぜひ活用してみてください。

PowerShellでフォルダ内のファイル一覧を取得してCSVに出力する方法

Windows環境でフォルダ内のファイル一覧を取得したい場面は多々あります。例えば、定期的なファイル管理や監査用の記録、またはバックアップ作業のために一覧をエクスポートしたい場合です。
PowerShellを使えば、簡単にフォルダ内のファイル一覧を取得し、そのままCSV形式で保存することができます。

この記事では、PowerShellでフォルダ内のファイル一覧を取得し、CSVに出力する方法を解説します。


基本コマンド

まずは基本となるコマンドです。
以下の例では、C:\Test フォルダ内のファイル一覧を取得し、filelist.csv に出力します。

各コマンドの意味

  • Get-ChildItem "C:\Test"
    指定フォルダ内のファイルやフォルダを取得します。gcidir と省略可能。

  • Export-Csv
    取得結果をCSVに変換して保存します。

  • -NoTypeInformation
    CSVの先頭に不要な型情報行を出力しないようにします。

  • -Encoding UTF8
    CSVファイルの文字コードをUTF-8に指定します(文字化け防止)。


ファイルのみ取得する場合

フォルダ名は不要で、ファイルだけを取得したい場合は -File オプションを指定します。


サブフォルダも含めて取得する場合

サブフォルダ内のファイルもまとめて一覧化するには -Recurse を付けます。


出力内容を絞り込む

CSVに出力する項目を指定することも可能です。例えば、フルパス、サイズ、更新日時 だけを出力する場合:

これにより、余計な情報を省き、必要なデータだけをCSVに保存できます。

実行例イメージ

出力されるCSVファイルをExcelで開くと、以下のように一覧が表示されます。

FullName Length LastWriteTime
C:\Test\document1.txt 1234 2025/09/17 10:30:00
C:\Test\image.png 45678 2025/09/16 15:20:00
C:\Test\subfolder\report.docx 9876 2025/09/15 09:10:00

まとめ

  • Get-ChildItem でフォルダ内のファイル一覧を取得できる

  • Export-Csv を組み合わせることで、簡単にCSVへ出力可能

  • -File-RecurseSelect-Object を使えば用途に合わせて柔軟に一覧化できる

PowerShellを使えば、手作業でリスト化する手間を省き、自動化できるのでぜひ活用してみてください。

CSVファイルの 「BOMあり」、「BOMなし」とは?

  • はじめに

    CSVファイルを扱っていると、「BOMあり」「BOMなし」という言葉を目にすることがあります。
    特にExcelで開いたときに文字化けしてしまった経験がある方は、この違いが大きな意味を持つことを知っておくと便利です。
    この記事では、BOMの基礎から、Excelやシステムでの扱い方、確認方法まで解説します。


    BOMとは?

    BOM(Byte Order Mark)は、テキストファイルの先頭に付与される特殊な「目印」です。
    文字コードを示すために使われ、特にUTF-8では以下の3バイトがBOMになります。

    EF BB BF

    これがあるファイルを「BOMあり」、ないファイルを「BOMなし」と呼びます。


    BOMありとBOMなしの違い

    BOMあり

    • Excelなどで開くと文字化けしにくい

    • 日本語環境のExcelではBOM付きの方が安全に扱える

    BOMなし

    • Linux系のシステムやプログラムでは一般的

    • 余計なバイトが含まれないためシステム連携や自動処理で好まれる


    Sakuraエディタで違いが分からない理由

    Sakuraエディタはとても優秀で、UTF-8のBOMがあってもなくても正しく解釈して表示します。
    そのため、見た目では違いが分からないのです。
    他のソフトでは「」のような文字が先頭に表示されることもありますが、Sakuraではそうした問題は起きません。


    BOMの有無を確認する方法

    1. Sakuraエディタで確認

    • メニュー → ファイル文字コード指定して開く

    • 「UTF-8」または「UTF-8 (BOM付き)」が表示される

    2. バイナリエディタで確認

    • BOMあり:ファイル先頭に EF BB BF

    • BOMなし:すぐに「ID,名前,点数」などの内容が始まる

    3. コマンドで確認

    • Windows (PowerShell)



      → BOMありなら 239 187 191 が表示されます

    • Linux

      xxd -l 3 sample.csv

      → BOMありなら ef bb bf が確認できます


    利用シーン別の使い分け

    利用シーン おすすめ設定 理由
    ExcelでCSVを開く場合 BOMあり(UTF-8 BOM) 文字化けを防ぎ、正しく読み込める
    プログラムやLinux環境で処理 BOMなし(UTF-8) 不要なバイトがなく安定処理できる
    BOMの有無を確認したい場合 バイナリやコマンド 確実に判別可能

    まとめ

    CSVファイルの「BOMあり/なし」は目で見える違いはなく、特にSakuraエディタではどちらでも正しく開けます。
    しかし、Excelでの文字化けやシステム連携時の不具合を避けるためには、利用シーンに応じた使い分けが重要です。

    • Excel → BOMあり

    • プログラム処理 → BOMなし

    ぜひ状況に合わせて正しく選択してください。

BOMありのサンプル例

sample_bom

BOMなしのサンプル例

sample_no_bom

HTML:番号付きリストの開始番号を変更する方法

HTMLで番号付きリストを表示するのは<ol>タグの中に<li>タグを記述することで表現できますが、<ol>タグにreversed属性やstart属性、type属性を付与することで表示される番号を操作することが出来ます。

<ol>タグに何も属性付けない場合

HTML

表示結果

  1. パソコン
  2. テレビ
  3. ソファー

 

<ol>タグにreversed属性を付けた場合

HTML

表示結果

  1. パソコン
  2. テレビ
  3. ソファー

 

<ol>タグにstart属性を付けた場合

HTML

表示結果

  1. パソコン
  2. テレビ
  3. ソファー

<ol>タグにtype属性を付けた場合

HTML

表示結果

  1. パソコン
  2. テレビ
  3. ソファー

IEに互換表示をさせない「X-UA-Compatible」の指定方法

Web開発者泣かせでお馴染みのIEにはIEの過去バージョンモードで表示出来る互換表示機能があります。
しかし互換表示することで表示が崩れてしまう場合、デフォルトでは互換表示させたくないケースが多々あります。
そういう場合にはmetaタグで「X-UA-Compatible」を指定する事で互換モードではなく、使用しているIEの各バージョンの標準モードでレンダリングさせる事が可能となります。

使用しているIEの各バージョン毎でレンダリング

    使用しているIEの各バージョン毎でレンダリングさせたい場合は「X-UA-Compatible」へ「IE=edge」を指定します。

IEのバージョン固定でレンダリング

    特定のIEのバージョン固定でレンダリングさせたい場合は「X-UA-Compatible」へIE8なら「IE=8」、IE11なら「IE=11」を指定します。
    例えば「IE=8」を指定した場合、ブラウザのバージョンはIE11でもIE8の互換モードでレンダリングされます。

jQueryのバージョン:1.x系と2.x系の違い

jQueryの豆知識ですが、jQueryのバージョンは大きく1.x系と2.x系の2つに分けられます。この2つの違いについてメモしておきます。

jQuery 1.x 系

    主に、IE8以前のバージョンを含むレガシーブラウザ向けをサポートするバージョンです。

jQuery 2.x 系

    IE8以前のサポートは切り捨てて、より高速に安定して動作させることを目指したモダンブラウザ向けのバージョンです。

jQuery 本体のダウンロード

  1. 以下サイトへアクセスし、左上にあるDownloadボタンを選択します。
    http://jquery.com/
  2. Downloadページが表示されると 1.x系と2.xに分かれているのがわかります。

案件により対応ブラウザを確認してjQueryのバージョンは選択しましょう。

JSPコメントとHTMLコメントの違い

JSPのコメント文とHTMLのコメント文の違いについてまとめておきます。

JSPのコメント

HTMLのコメント

さて、両者の違いとは何でしょうか。

見た目大して変わらないしどっちでもいいんじゃない。というのは大きな間違いで、HTMLのコメント文はサーブレット変換時にコメントも「out.println()」によってクライアントに対して出力されてしまいます。要はそのページを表示して右クリックなどから「ソースコードを表示」などを選択するとそのコメント文もクライアント側から確認可能となります。
対してJSPのコメント文はソースコードを表示してもクライアント側から確認する事は出来ません。

使い分けとしては、そのページの開発者サイドにのみ伝えておきたい内容などは「JSPのコメント文」、そのページを閲覧するクライアント側がソースコードを確認した時に伝えたい内容は「HTMLのコメント文」というように使い分けましょう。

<b>太字タグと<strong>論理強調タグの違い

HTMLを作成する時に悩む、<b>太字タグと<strong>論理強調タグの違いについてメモしておきます。
この二つは表面上はよく似ていて、どちらも太字になります。
ですが<b>タグは単に太く見えるだけで単なる一般的な太字ですが、<strong>タグは検索エンジンなどにおいて、特別な意味を持ったタグとなります。
検索エンジンなどで注視させたい場合などは<strong>タグを用いると良いでしょう。
逆に<b>タグは単なる太く見えるだけのタグなので、文章の中で読者に対して注視させたい場合に用います。
私の場合は以前よくSEOの観点から<strong>タグを活用していました。
メタタグなどよりは多少の効果はあるようで、特定の検索ワードで上位になることも多かったです。
今は時間的に余裕がなく面倒なので、あまり文章内の特別な編集は殆どしていませんが、多少の効果があるという事は確かなようです。
他にもメタタグなど色々なタグがHTMLにはありますが、<b>タグや<strong>タグは初心者でも簡単に用いる事が出来ると思うので、うまく活用すると良いかもしれません。

HTML、CSS、JavaScriptのデバッガツール「Firebug」のインストール手順

通常ブラウザにはF12押下でブラウザ標準の開発ツールが使用可能となりますが、今回紹介する「Firebug」は高性能なJavaScriptデバッガツールです。JavaScriptだけではなくHTMLやスタイルシートの値をリアルタイムに変更して確認したり、非同期通信状況やDOMの状態などの詳細情報確認も簡単に可能となります。

Firebugの特徴

  • Firefox専用のアドオン
  • JavaScriptのデバッグ
  • 非同期通信の状況確認
  • DOMやスタイルシートの設定状況確認

Firebugのインストール手順

  1. FireFoxを起動し、メニューの「ツール」→「アドオン」を選択します。
  2. アドオンマネージャのメニュー「アドオン入手」画面で検索ボックスへ「firebug」と入力して検索します。
  3. 検索結果に「Firebug x.xx.x」と表示されますので「インストール」ボタンを押下してインストールします。
  4. インストール終了後、デバッグしたい画面を開いてブラウザの右上に追加された「虫アイコン」をクリックすれば虫アイコンに色がついてFirebugが起動します。

marginとpaddingの違い

CSSでスタイルを設定していると「margin」と「padding」の基礎知識が曖昧だと使用する際に混乱しがちなので今回は両者の違いをまとめてみます。

marginとpaddingの関係図

marginの特徴

  • borderの外側にスペース(余白)が設けられる
  • スペース(余白)に背景色は適用不可
  • marginに負数(-5pxなど)が使用可能
  • 隣接した要素と相殺される(されないケースもあります)

paddingの特徴

  • borderの内側にスペース(余白)が設けられる
  • スペース(余白)に背景色を適用可能
  • paddingに負数(-5pxなど)は使用不可
  • 隣接した要素と相殺されない