シェルスクリプトでファイルをループして読み込む方法

シェルスクリプトでファイルの循環読み込みを実装するには、whileループとreadコマンドを使用できます。以下にサンプルコードを示します。

#!/bin/bash

# 待处理的文件列表
file_list="file1.txt file2.txt file3.txt"

# 循环读取文件
for file in $file_list; do
    while IFS= read -r line; do
        # 处理每一行
        echo "读取到文件 $file 的行: $line"
    done < "$file"
done

ファイル一覧は上例の file_list 変数に保存され、必要に応じて処理対象のファイル一覧に差し替え可能です。その後、for ループを使用してファイル一覧内の各ファイルに対して処理が行われ、while ループと read コマンドでファイルの内容一行ずつ読み込まれます。

whileループ内でIFS=を使用するとreadコマンドで行を複数のフィールドに分割できなくなり、-rオプションはreadコマンドがバックスラッシュのエスケープをしないようにします。

各反復で読み込まれた行は、その場でループ本体で処理できます。上の例では読込行を単に表示するのみですが、用途に合わせて処理を変えてみてください。

注意:スクリプトを使用する前に、処理するファイル一覧に記載されたファイルが存在し、適切な読み込み権限があることを確認してください。

bannerAds