在 csh 中一次读取每一行

在 csh 中一次读取每一行

在 bash 中,这样的代码将一次读取文件中的每一行:

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 

它将立即读取所有行。一旦代码运行,添加到待读取文件中的新行将不会被读取。知道如何让它一次读取一次该行吗?由于某种原因,我必须在 csh 下工作才能处理这种情况。

非常感谢。

答案1

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

相关内容