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