Bash의 스크립트: 모든 파일 찾기

Bash의 스크립트: 모든 파일 찾기

디렉터리에서 100b보다 작은 모든 파일을 찾아 /etc결과를 페이지로 나누고 결과를 파일에 저장하는 스크립트를 Bash에서 작성하고 싶습니다. 나는 다음 명령을 사용해 보았습니다.

find /etc -size -100c | sort | > results

하지만 페이지에서 결과를 분할하는 방법을 모르겠습니다.

답변1

find /etc -size -100c | sort |
    awk '{ print; } ! (NR % 60) { printf ("\n\n\n\n\n\n"); }' > result

답변2

왜 "페이지"를 원하는지 이해가 되지 않습니다. 파일을 읽는 데 사용할 수 있는 대부분의 프로그램은 어쨌든( less또는 다른 뷰어와 편집기) 이러한 종류의 작업을 처리합니다 . 하지만 원한다면 다음과 같이 하는 것이 쉽습니다.

find /etc -size -100c | sort | 
    perl -ne '$. % 60 == 0 ? print "$_\n" : print' > results

$.현재 줄 번호를 보유하는 특수 변수 입니다 . 따라서 위 코드는 현재 줄을 인쇄하고 그 뒤에 개행 문자( print "$_\n")현재 줄 번호( $.) 모듈로 60이 0인 경우, 그렇지 않은 경우 현재 줄만 인쇄합니다. 결과는 매 줄마다 빈 줄을 추가하는 것입니다. 60줄.

또는 조금 덜 장황하게 말하면 다음과 같습니다.

find /etc -size -100c | sort | perl -pe 'print "\n" if $. % 60 == 0' > results

관련 정보