특정 디렉토리 세트를 반복합니다.

특정 디렉토리 세트를 반복합니다.

다음 코드는 현재 경로 아래의 모든 디렉터리를 반복하여 압축된 xml 파일 수를 계산합니다.

for i in *xml.gz; do 
    echo "XML" "${PWD##*/}" "$i" $(gunzip -c $i | echo "scale=0; `wc -l`" | bc -l); 
done 

이전에 계산된 디렉터리가 계산되는 것을 방지하고 실행 시간을 줄이기 위해 마지막 5개 디렉터리를 계산하는 것과 같은 루프를 수행하는 방법을 찾고 있습니다. for 루프를 사용하면 특정 디렉터리를 지정할 수 있지만 여전히 xml 파일만 계산하면 됩니다. 세다. 동시에 두 가지 작업을 수행하는 구문을 찾을 수 없습니다.

답변1

시간을 기준으로 마지막 N개 파일을 나열하려면 다음 아이디어를 사용할 수 있습니다.

ls -tr

목록 하단에서 최신 파일을 가져옵니다.

tail -5

마지막 5개 행을 가져옵니다. 그러면 코드는 다음과 같을 것입니다.

for i in `ls -tr|tail -5`.....

관련 정보