조회에서 "-size"와 "-exec rm"을 결합하는 방법은 무엇입니까?

조회에서 "-size"와 "-exec rm"을 결합하는 방법은 무엇입니까?

이것을 사용하면 작동합니다.

find /home -name "error_log" -exec rm -rf {} \;

하지만 파일 크기 제한을 추가하려고 하면 파일이 삭제되지 않습니다.

find /home -size +5000000b -name "error_log" -exec rm -rf {} \;

이 작업에 크기 제한을 적용하는 방법에 대한 아이디어가 있습니까?

답변1

-size접미사는 b바이트가 아닌 512바이트 블록을 의미합니다. 5000000b2,560,000,000바이트 또는 2.5GB입니다.

노력하다:

find /home -size +5M -name "error_log" -exec rm -rf {} \;

GNU에서 매뉴얼 페이지를 찾으십시오:

-size n[cwbkMG] 파일은 n 단위의 공간을 사용합니다. 다음 접미사를 사용할 수 있습니다.

'b'는 512바이트 블록을 의미합니다(접미사가 사용되지 않는 경우 기본값입니다).

'c'는 바이트를 나타냅니다.

'w'는 2바이트 단어를 나타냅니다.

'k'는 킬로바이트(1024바이트 단위)를 나타냅니다.

"M"은 메가바이트(1,048,576바이트 단위)를 나타냅니다.

"G"는 기가바이트(1073741824바이트 단위)를 나타냅니다.

이 크기는 간접 블록을 계산하지 않지만 스파스 파일에서 할당되지 않은 실제 블록을 계산합니다. %k' and-printf의 %b' 형식 지정자는 희소 파일을 다르게 처리한다는 점을 명심하세요 . "b" 접미사는 항상 1KB 블록이 아닌 512바이트 블록을 나타내며 이는 -ls의 동작과 다릅니다.

관련 정보