2014-02-06 1 views
0

grep 명령을 사용하여 쉼표가없는 txt 파일의 250 번째 줄을 찾아야합니다. 파일에 250 개 이상의 행이 있지만 250 행까지 찾아야합니다.grep 명령을 사용하여 파일의 행 번호 찾기 Linux

예 :

grep -vn "," test.txt 

후 250 줄을 보였지만, 다음 줄 번호가 동일 있는지 확인하기 위해 다음 명령을했다 :

Imagine you had a 10 line file and you were looking for the 3rd line that did not contain a comma 

Lines 1 and 2 do not have a comma 
lines 3-7 have a comma 
Line 8 does not contain a comma 

The answer for this file would be line 8. 

내가이 명령을 사용 그들은 그랬다.

grep -n "this is text from the 250th line" test.txt 
일반 파일이 많은 라인을 가지고 있기 때문에 나는없이 파일 의 250 라인 쉼표가 일반 파일의 250 라인과 같은 줄 안하기 때문에이 경우에해야한다고 생각하지 않습니다

그 (것)들에서 쉼표로, 그래서 줄 번호는 실제로보다 적어야한다.

무엇이 잘못 되었나요?

감사합니다.

답변

1

불행하게도, POSIX는 동의 :

$ man grep 
# ... 
-n, --line-number 
    Prefix each line of output with the 1-based line number within its input file. (-n is specified by POSIX.)  
# ... 

은 당신이 할 수있는 것은 몇 가지 awk 토스입니다 :

$ grep -v , text.txt | awk '{ if (NR == 250) { print } }' 
0

아니면 시도 할 수를

grep -v , text.txt | head -250 | tail -1 
관련 문제