머리를 사용하여 캐릭터까지 보기

머리를 사용하여 캐릭터까지 보기

나는 C 소스 파일을 가지고 있는데 그 중 많은 파일의 맨 위에 해당 프로그램이 수행하는 작업에 대한 간단한 설명을 제공하는 한 줄짜리 주석이 있습니다. (나는 전체 단락을 보증할 만큼 복잡한 작업을 수행하지 않았습니다.) head를 사용하여 첫 번째까지 볼 수 있는지 궁금합니다 #. 이것이 내 첫 번째 전처리기 지시문이 되기 때문입니다. 줄 번호를 인쇄한다면 그것도 보너스가 될 것입니다.

답변1

Grep은 아마도 컨텍스트 스위치를 사용하는 더 나은 솔루션일 것입니다 -B.

grep -B999 -m 1 "^#" file.c

또는 긴 옵션 이름을 사용하는 경우:

grep --before-context 999 --max-count 1 "^#" file.c

패턴 "^#"(줄 시작 부분에 고정된 '#')을 찾고 최대 999줄을 표시합니다.~ 전에발견된 최대 "^#" 수는 1입니다.

따라서 기본적으로 첫 번째 "^#"을 찾아 그 앞에 최대 999줄을 표시하고 종료합니다. 발견된 "^#"을 제거하기 위해 헤드를 통해 파이프할 수 있습니다.

grep -B999 -m1 "^#" file.c | head -n -1

마지막 줄이 잘립니다.

나는 그것이 다소 과도할 수 있다는 점에 동의 -B999하지만 나중에 경력을 쌓으면서 장황하게 쓴 내용을 잘라내고 싶지 않습니다. 물론 적절하게 조정하십시오.

관련 정보