파일 bash 크기 [닫기]

파일 bash 크기 [닫기]

/etc에 있는 모든 파일 .conf의 크기를 표시하고 크기 출력을 file.txt로 리디렉션해야 하지만 리디렉션된 출력의 제한을 설정하는 플래그를 명령에 추가하고 싶습니다.

내 명령은 다음과 같습니다

find /etc -name "*.conf" -printf "%s\n" | paste -sd+ | bc > file.txt

하지만 이 명령은 365077바이트를 표시합니다.

리디렉션된 출력의 값이 120000바이트에서 300000바이트 사이가 되기를 원합니다. 즉, cat file.txt를 실행하면 120000바이트에서 300000바이트 사이의 값을 갖게 됩니다.

명령의 플래그를 찾는 방법은 무엇입니까?

답변1

$ find /etc -name \*.conf 2> /dev/null | xargs du -sc | tail -n1
1092    total

.conf이 명령을 실행하는 사용자가 검사할 수 있는 권한이 있는 이 호스트의 총 파일 크기는 1092바이트입니다.

답변2

결과를 120000~300000바이트 사이로 제한하려면 awk끝에 필터를 추가하는 것이 한 가지 방법입니다.

find ... | bc | awk '$1 >= 120000 && $1 <= 300000' > file.txt

이렇게 하면 file.txt범위를 벗어난 합계에 대해 null이 생성되고, 그렇지 않으면 합계가 파일로 전송됩니다.

합계가 다음 범위 내에 있는 경우에만 파일을 생성합니다.

... | awk '$1 >= 120000 && $1 <= 300000 { print $1 > "file.txt" }'

...awk가 파일에 쓰도록 하세요. 마지막으로 리디렉션을 제거하세요.

관련 정보