파일과 그 다음 5줄에서 날짜를 파악하고 싶습니다.

파일과 그 다음 5줄에서 날짜를 파악하고 싶습니다.

파일의 현재 날짜를 파악하고 다음 5줄도 출력하고 싶습니다. grep이나 다른 것으로 어떻게 할 수 있습니까? grep -A 5 file.txt작동하지 않습니다. 출력은 다음과 같습니다. 도와주세요!

$grep $(date +"%m/%d") file.txt- 첫 번째 행에만 적용됩니다. 하지만 다음 5개 행도 표시하고 싶습니다.

$ grep -A 5 '$(date +"%m/%d")' file.txt
grep: Not a recognized flag: A
Usage: grep [-r] [-R] [-H] [-L] [-E|-F] [-c|-l|-q] [-insvxbhwyu] [-p[parasep]] -e pattern_list...
        [-f pattern_file...] [file...]
Usage: grep [-r] [-R] [-H] [-L]  [-E|-F] [-c|-l|-q] [-insvxbhwyu] [-p[parasep]] [-e pattern_list...]
        -f pattern_file... [file...]
Usage: grep [-r] [-R] [-H] [-L] [-E|-F] [-c|-l|-q] [-insvxbhwyu] [-p[parasep]] pattern_list [file...]

답변1

귀하의 grep은 이 플래그를 지원하지 않으므로 -A사용할 수 없습니다. 하지만 동일한 결과를 얻을 수 있어야 합니다 awk.

awk -v dt=$(date +%m/%d) '$0~dt{counter=5}counter>=0{print;counter--}' file.txt

일치하는 항목이 발견되면 카운터를 5로 설정하고 음수가 아닌 경우 카운터를 인쇄하고 감소시킵니다.

관련 정보