/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
동일한 출력을 얻지만 형식이 약간 다릅니다.