Linux: 디렉터리 트리에서 *.log 파일을 찾아 각 파일에 마지막 10줄을 씁니다.

Linux: 디렉터리 트리에서 *.log 파일을 찾아 각 파일에 마지막 10줄을 씁니다.

/var 디렉토리와 모든 트리 디렉토리에서 .log로 끝나는 모든 파일을 찾아 각 *.log 파일의 마지막 10줄을 작성해야 합니다.


cd /var sudo find -name '*.log' -print


이 명령을 사용하면 이러한 파일을 찾을 수 있습니다. 내가 보는 것은: 인쇄 라인을 ./log/auth.log ./log/Xorg.0.log .... ./log/apt/term.log .log/alternatives.log 사용하려고 하는데 for var in sudo find -name '*.log'; do tail -n 10 $var; done오류가 발생합니다. 그렇다면 파일을 찾고 행을 인쇄하려면 어떤 명령을 사용해야 합니까?

답변1

이 시도:

find /var -name "*.log" -type f -exec tail '{}' +

설명하다:

-type f- 파일만 찾기

-exec <command> {} +- 명령을 실행합니다. 자세한 내용은 man find를 참조하세요.

또는:

for i in $(find /var -name "*.log" -type f); do echo $i; tail $i; done

동일한 출력을 얻지만 형식이 약간 다릅니다.

관련 정보