
다음 코드가 있습니다.
int val
nameof_function();
위의 코드는 filename.txt 파일에 있습니다. 다음을 사용하여 파일에서 일련의 줄을 찾으려고 합니다.
grep "int val.*\n.*(" filename.txt
하지만 여러 줄에서는 작동하지 않습니다.
나도 시도했다
awk '/int val/,/\(/' filename.txt
여기서는 출력에 파일 이름이 표시되지 않습니다.
grep
출력에서 파일 이름을 찾을 수 있지만 다음을 사용하는 경우 여러 줄을 검색할 수 없습니다.
다음과 같은 출력이 필요합니다.
filename.txt:int val nameof_function
누구든지 도와주세요
답변1
int val
소스 파일에 한 줄로 구분된 기능이 포함되어 있는 경우 grep의 출력을 조정하여 아래 두 줄의 내용을 찾아 출력하도록 하면 됩니다 .
다음과 같을 것이다
grep -A 2 "int val" *.txt