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

관련 정보