linux逐次ファイルを読み込む方法

Linuxでは、C言語かスクリプト言語でファイル逐次読み出しが行えます。以下に一般的な2つの方法を紹介します。

  1. C言語では、標準Cライブラリのfgets関数を使って、ファイルの内容を1行ずつ読み込むことができる。
#include <stdio.h>

int main() {
    FILE* file = fopen("filename.txt", "r");
    if (file == NULL) {
        printf("无法打开文件\n");
        return 1;
    }

    char line[256];
    while (fgets(line, sizeof(line), file) != NULL) {
        printf("%s", line);
    }

    fclose(file);
    return 0;
}

上記のコードでは、まずfopen関数でファイルを開き、fgets関数でファイルの内容を一行ずつ読み出し、各行をプリントアウトした後、fclose関数でファイルを閉じる。

  1. シェルスクリプト:readコマンドと組み合わせたwhileループを使用し、ファイルを読み取ることができます。
#!/bin/bash

while IFS= read -r line; do
    echo "$line"
done < "filename.txt"

while 文では read コマンドで一行的読み込みを行い、line 変数にそれが格納され、echo コマンドで表示されます。ファイル内容はこのループにリダイレクト記号を通じて渡されます。

C 言語でもシェルスクリプトでも、一行ずつファイルの内容を読み込む機能は実現できる。どちらを選択するかは、目的やプログラミング環境による。

bannerAds