cshで一度に各行を読みます。

cshで一度に各行を読みます。

Bashでは、次のコードはファイルの各行を一度に1つずつ読みます。

while IFS=$'\r' read -r line || [[ -n "$line" ]]; do
    something
done < "to-read-file"

コードの実行中に、読み取っているファイルの最後の行に達していない限り、読み取っているファイルの最後に行を追加できます。コードは、新しく追加された行を処理し続けます。

cshで同様のコードを書くには助けが必要です。現在、cshで使用されているコードは次のとおりです。

foreach line (cat to-read-file) 
(do things) 
end 

一度にすべての行を読みます。コードが実行されると、読み取るファイルに追加された新しい行は読み取られません。一度に1つずつ行を読み取る方法を知っていますか?何らかの理由でこの状況を処理するには、cshで作業する必要があります。

とても感謝しています。

ベストアンサー1

set v = `cat file`
@ i = 1
while ( $i <= $#v )
    echo $v[$i]
    @ i = $i + 1
end

おすすめ記事