Just another IT site ※IT系の記事は当方環境での実施内容となるため実施する場合は自己責任でお願いいたします。At Your Own Risk!! TURN BACK WHILE YOU CAN
PR

Windowsでファイルでマッチした行の1つ下の行を出力するには

※IT系の記事は当方環境での実施内容となるため実施する場合は自己責任でお願いいたします。スクリプトはAI生成のものも多いのでコピー&ペーストの際は文字コードに注意ください!

AIによる回答

Windowsのfindstrコマンドでは、正規表現を使って、検索文字列を含む行とその一つ下の行も同時に表示することはできません。findstrは、指定した文字列を含む行を検索するコマンドです。一つ下の行も表示するには、他のツールやスクリプトを使用する必要があります

以下に、findstrコマンドで検索し、一つ下の行も表示する方法をいくつか紹介します。

1. PowerShell を使用する方法:

PowerShell を使用すると、正規表現を使って検索し、Select-String コマンドレットで結果を処理できます。

ソースコード
Get-Content "ファイル名" | Select-String -Pattern "検索文字列" -Context 0,1
  • Get-Content "ファイル名": ファイルの内容を読み込みます。
  • Select-String -Pattern "検索文字列": 指定した文字列を検索します。
  • -Context 0,1: 検索結果の前後の行数を指定します。ここでは、検索結果の直後の行を1行表示するように設定しています。
2. Python スクリプトを使用する方法:

Python スクリプトを作成して、findstr のような検索を行い、結果を処理することも可能です。

Python
import redef find_and_print_next_line(filename, search_string):    try:        with open(filename, 'r', encoding='utf-8') as f:            lines = f.readlines()            for i, line in enumerate(lines):                if re.search(search_string, line):                    print(line.strip())                    if i + 1 < len(lines):                        print(lines[i+1].strip())    except FileNotFoundError:        print(f"Error: File not found: {filename}")    except Exception as e:        print(f"An error occurred: {e}")# 使用例
filename = "example.txt"
search_string = "検索文字列"
find_and_print_next_line(filename, search_string)
このスクリプトは、example.txtというファイルから 検索文字列 を検索し、一致する行とその次の行を表示します。必要に応じて、encodingやエラー処理を調整してください。

3. 他のツールを使用する方法:

grep コマンドや、Visual Studio Code などのエディタの検索機能など、他のツールでも同様の処理が可能です。

これらの方法を参考に、findstrコマンドでは直接できない、一つ下の行も表示する検索を試してみてください。
タイトルとURLをコピーしました