100줄짜리 파일이 있고 "happy"라는 단어를 검색해야 하지만 검색은 파일의 50줄부터 시작해야 합니다. Linux에서 사용되는 특정 grep 명령은 무엇입니까?
답변1
head
+ grep
및 그룹 명령을 사용하여 {...}
동일한 입력을 공유 할 수도 있습니다 .
{ head -n 50 >/dev/null; grep PATTERN; } <infile
이 방법은 head
첫 번째 n
행만 가져와서 에 덤프 /dev/null
하고 나머지 행은 처리됩니다 grep
.
답변2
다음은 sed
라인 50에서 파일 끝까지 이동한 후 이를 사용하여 grep
패턴을 검색하는 방법입니다.
sed -n '50,$p' file.txt | grep "happy"
아니면 sed
정확히 다음을 사용하세요.
sed -n '50,$s/happy/&/p' file.txt
다음은 몇 가지 추가 sed
방법입니다("Stéphane Chazelas"에게 감사드립니다).
sed '50,$!d;/happy/!d' file.txt
sed -n '50,${/happy/p;}' file.txt
답변3
tail
51번째 줄부터 시작하여 파일 내용을 가져오는 데 사용됩니다 grep
. -i
대소문자를 무시하고("Happy", "HAPPY" 등도 일치시킬 수 있음) 앞에 공백을 추가하여 "happy"만 일치시키고 해당 문자 시퀀스를 포함하는 다른 단어는 일치시키지 않는 데 사용됩니다 .
tail -n +51 filename.txt | grep -i " happy"
답변4
필요할 것이예요 awk
:
awk 'NR>50' filename.txt | grep '\bhappy\b'