在 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