テキストファイルを処理して「特定の行だけ抜き出したい」という場面は、ログ解析やデータ処理を行う際によくあります。PowerShellを使えば、シンプルなコマンドで効率的に抽出可能です。本記事では、PowerShellによる代表的な方法を解説します。
基本的な考え方
PowerShellでは、Get-Content
コマンドレットでテキストファイルを1行ずつ取得できます。そこから条件を指定して、欲しい行をフィルタリングすれば目的の行を抽出できます。
方法1:行番号で抽出する
特定の行番号を指定して抽出するには配列インデックスを利用します。PowerShellは0から数えるので注意しましょう。
複数行をまとめて取得することも可能です。
方法2:条件で抽出する(文字列検索)
キーワードを含む行だけを抽出するには Select-String
を使います。
この場合、ヒットした行番号と内容が出力されます。内容だけ欲しい場合は以下のように書けます。
方法3:正規表現で抽出する
複雑な条件にマッチさせたい場合は正規表現を活用できます。
方法4:範囲指定で抽出する
特定の行範囲を取り出したい場合は Select-Object
を利用します。
まとめ
-
行番号で取得 → 配列インデックス
-
キーワードで取得 → Select-String
-
複雑条件 → 正規表現
-
範囲指定 → Select-Object
PowerShellを使えば、テキストファイルの解析や必要な行だけの抽出を簡単に自動化できます。ログファイル処理やデータ前処理など、日々の作業効率化にぜひ活用してみてください。
Windows環境でフォルダ内のファイル一覧を取得したい場面は多々あります。例えば、定期的なファイル管理や監査用の記録、またはバックアップ作業のために一覧をエクスポートしたい場合です。
PowerShellを使えば、簡単にフォルダ内のファイル一覧を取得し、そのままCSV形式で保存することができます。
この記事では、PowerShellでフォルダ内のファイル一覧を取得し、CSVに出力する方法を解説します。
基本コマンド
まずは基本となるコマンドです。
以下の例では、C:\Test
フォルダ内のファイル一覧を取得し、filelist.csv
に出力します。
各コマンドの意味
-
Get-ChildItem "C:\Test"
指定フォルダ内のファイルやフォルダを取得します。gci
や dir
と省略可能。
-
Export-Csv
取得結果をCSVに変換して保存します。
-
-NoTypeInformation
CSVの先頭に不要な型情報行を出力しないようにします。
-
-Encoding UTF8
CSVファイルの文字コードをUTF-8に指定します(文字化け防止)。
ファイルのみ取得する場合
フォルダ名は不要で、ファイルだけを取得したい場合は -File
オプションを指定します。
サブフォルダも含めて取得する場合
サブフォルダ内のファイルもまとめて一覧化するには -Recurse
を付けます。
|
Get-ChildItem "C:\Test" -File -Recurse | Export-Csv -Path "C:\Test\filelist_all.csv" -NoTypeInformation -Encoding UTF8 |
出力内容を絞り込む
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
、-Recurse
、Select-Object
を使えば用途に合わせて柔軟に一覧化できる
PowerShellを使えば、手作業でリスト化する手間を省き、自動化できるのでぜひ活用してみてください。
-
はじめに
CSVファイルを扱っていると、「BOMあり」「BOMなし」という言葉を目にすることがあります。
特にExcelで開いたときに文字化けしてしまった経験がある方は、この違いが大きな意味を持つことを知っておくと便利です。
この記事では、BOMの基礎から、Excelやシステムでの扱い方、確認方法まで解説します。
BOMとは?
BOM(Byte Order Mark)は、テキストファイルの先頭に付与される特殊な「目印」です。
文字コードを示すために使われ、特にUTF-8では以下の3バイトがBOMになります。
これがあるファイルを「BOMあり」、ないファイルを「BOMなし」と呼びます。
BOMありとBOMなしの違い
BOMあり
BOMなし
Sakuraエディタで違いが分からない理由
Sakuraエディタはとても優秀で、UTF-8のBOMがあってもなくても正しく解釈して表示します。
そのため、見た目では違いが分からないのです。
他のソフトでは「」のような文字が先頭に表示されることもありますが、Sakuraではそうした問題は起きません。
BOMの有無を確認する方法
1. Sakuraエディタで確認
2. バイナリエディタで確認
3. コマンドで確認
利用シーン別の使い分け
利用シーン |
おすすめ設定 |
理由 |
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で番号付きリストを表示するのは<ol>タグの中に<li>タグを記述することで表現できますが、<ol>タグにreversed属性やstart属性、type属性を付与することで表示される番号を操作することが出来ます。
<ol>タグに何も属性付けない場合
HTML
|
<ol> <li>パソコン</li> <li>テレビ</li> <li>ソファー</li> </ol> |
表示結果
- パソコン
- テレビ
- ソファー
<ol>タグにreversed属性を付けた場合
HTML
|
<ol reversed=""> <li>パソコン</li> <li>テレビ</li> <li>ソファー</li> </ol> |
表示結果
- パソコン
- テレビ
- ソファー
<ol>タグにstart属性を付けた場合
HTML
|
<ol start="2"> <li>パソコン</li> <li>テレビ</li> <li>ソファー</li> </ol> |
表示結果
- パソコン
- テレビ
- ソファー
<ol>タグにtype属性を付けた場合
HTML
|
<ol type="A"> <li>パソコン</li> <li>テレビ</li> <li>ソファー</li> </ol> |
表示結果
- パソコン
- テレビ
- ソファー
Web開発者泣かせでお馴染みのIEにはIEの過去バージョンモードで表示出来る互換表示機能があります。
しかし互換表示することで表示が崩れてしまう場合、デフォルトでは互換表示させたくないケースが多々あります。
そういう場合にはmetaタグで「X-UA-Compatible」を指定する事で互換モードではなく、使用しているIEの各バージョンの標準モードでレンダリングさせる事が可能となります。
使用しているIEの各バージョン毎でレンダリング
IEのバージョン固定でレンダリング
JSPのコメント文とHTMLのコメント文の違いについてまとめておきます。
JSPのコメント
HTMLのコメント
さて、両者の違いとは何でしょうか。
見た目大して変わらないしどっちでもいいんじゃない。というのは大きな間違いで、HTMLのコメント文はサーブレット変換時にコメントも「out.println()」によってクライアントに対して出力されてしまいます。要はそのページを表示して右クリックなどから「ソースコードを表示」などを選択するとそのコメント文もクライアント側から確認可能となります。
対してJSPのコメント文はソースコードを表示してもクライアント側から確認する事は出来ません。
使い分けとしては、そのページの開発者サイドにのみ伝えておきたい内容などは「JSPのコメント文」、そのページを閲覧するクライアント側がソースコードを確認した時に伝えたい内容は「HTMLのコメント文」というように使い分けましょう。
HTMLを作成する時に悩む、<b>太字タグと<strong>論理強調タグの違いについてメモしておきます。
この二つは表面上はよく似ていて、どちらも太字になります。
ですが<b>タグは単に太く見えるだけで単なる一般的な太字ですが、<strong>タグは検索エンジンなどにおいて、特別な意味を持ったタグとなります。
検索エンジンなどで注視させたい場合などは<strong>タグを用いると良いでしょう。
逆に<b>タグは単なる太く見えるだけのタグなので、文章の中で読者に対して注視させたい場合に用います。
私の場合は以前よくSEOの観点から<strong>タグを活用していました。
メタタグなどよりは多少の効果はあるようで、特定の検索ワードで上位になることも多かったです。
今は時間的に余裕がなく面倒なので、あまり文章内の特別な編集は殆どしていませんが、多少の効果があるという事は確かなようです。
他にもメタタグなど色々なタグがHTMLにはありますが、<b>タグや<strong>タグは初心者でも簡単に用いる事が出来ると思うので、うまく活用すると良いかもしれません。
CSSでスタイルを設定していると「margin」と「padding」の基礎知識が曖昧だと使用する際に混乱しがちなので今回は両者の違いをまとめてみます。
marginとpaddingの関係図

marginの特徴
- borderの外側にスペース(余白)が設けられる
- スペース(余白)に背景色は適用不可
- marginに負数(-5pxなど)が使用可能
- 隣接した要素と相殺される(されないケースもあります)
paddingの特徴
- borderの内側にスペース(余白)が設けられる
- スペース(余白)に背景色を適用可能
- paddingに負数(-5pxなど)は使用不可
- 隣接した要素と相殺されない
「駑馬十駕」を信念に IT系情報を中心に調べた事をコツコツ綴っています。