2013-04-27 2 views
0

내 스크립트는 while 루프를 사용하여 한 줄씩 xyz.txt 파일을 읽으며 conditon이 일치하면 다음 줄을 인쇄하려고합니다. 예 : [ "$ count"-gt "5"]; 다음쉘 스크립팅 다음 줄 인쇄

친절한 조언.

감사합니다,

답변

1

AWK 또는 나오지도 더 나은 선택 AWK의 예는 다음과 같습니다 응답에 대한

cnt=0 
while read rec 
do 
    cnt=$(($cnt + 1)) 
    [ $cnt -gt 5 ] && echo "$rec" 
done < inputfile 
+0

감사 쉘에서

awk 'FNR>5' inputfile 

똑같은하지만 것입니다 위의 솔루션 인쇄 다음 행 후 조건이 일치합니까? – user28104

+0

파일에서 5 라인보다 큰 조건을 읽었습니다 - 예. 즉 라인 # 6은 당신이 보는 첫 번째 라인이 될 것입니다. 그리고 # 6의 모든 줄이 파일 끝에 나타납니다. –

+0

감사합니다 짐 그러나 5는이 가치 또한 가변이기 때문에 다만보기이다.읽기 라인을 읽는 동안 cnt = 0처럼 할 수 있습니까? do if [$ cnt -gt 5]; then cnt = $ (($ cnt + 1)) echo $ line done user28104