홈페이지 » 어떻게 » Linux 쉘을 통해 x 픽셀보다 큰 PNG 이미지 찾기

    Linux 쉘을 통해 x 픽셀보다 큰 PNG 이미지 찾기

    웹 사이트의 디자인을 변경하려고 할 때 기사 내용의 그림 너비에 관심을 가져야합니다. 필자가 작성한 대부분의 기사에서 커다란 스크린 샷을 얻었으므로 사이드 바를 늘리려면 어떤 그림이 새로운 디자인에 맞추기에는 너무 넓어야할지 파악하는 것이 중요합니다..

    필자는 프로그래머이기 때문에 이것을하기 위해 작은 응용 프로그램을 작성하는 것은 쉽지만 생각하기 시작했습니다 ... 왜 Linux 명령 행에서이 작업을 수행 할 수 없습니까??

    내가 알아 낸 첫 번째 것은 PNG 이미지가 "파일"명령을 실행할 때 크기 데이터를 표시한다는 것입니다.

    $ file image3.png
    image3.png : PNG 이미지 데이터, 613 x 657, 8 비트 / 색상 RGBA, 비 인터레이스

    이 사이트의 사진 중 99 %가 PNG 형식이므로 매우 유용합니다. 이제 업로드 디렉토리의 모든 파일을 루프에 넣으십시오.

    * .png에서 f에 대해 $, 파일에서 $ f; 완료

    image.png : PNG 이미지 데이터, 631 x 185, 8 비트 / 색상 RGBA, 비 인터레이스
    image1.png : PNG 이미지 데이터, 631 x 96, 8 비트 / 색상 RGBA, 비 인터레이스
    image10.png : PNG 이미지 데이터, 375 x 395, 8 비트 / 색상 RGBA, 비 인터레이스
    image11.png : PNG 이미지 데이터, 484 x 241, 8 비트 / 색상 RGBA, 비 인터레이스
    -잘라내는-

    이 방법이 더 유용하지만 데이터를 정렬하기 위해 데이터를 Excel 또는 유사한 응용 프로그램으로 가져와야하므로 Linux "잘라 내기"명령을 사용하여 너비 열만 꺼내기로 결정했습니다..

    -f5 매개 변수는 잘라내기를 지시하여 다섯 번째 열을 가져오고 -d \는 잘라내기에 공백을 구분 기호로 사용하도록 지시 한 후에 공백을 표시합니다. 슬래시 \ 문자는 공백 문자가 아닌 공백 문자를 사용하도록 셸에 알리는 이스케이프 문자입니다..

    * .png에서 f에 대해 $, 파일에서 $ f | cut -f5 -d \; done

    631
    631
    375
    484
    -잘라내는-

    완전히 유용한 결과는 아니지? 이를 bash if 문으로 밀어 넣은 다음 폭이 600 픽셀보다 클 때 file 명령의 출력 만 보여줍니다..

    "(backtick) 표시가"$ f | cut ... "섹션에있는 명령은 '단일 출력으로 처리되고 if 문으로 전달되며 여기서 -gt (보다 큼)를 사용합니다. 또한 대괄호 []의 양쪽에 공백이 있어야합니다.

    f in * .png의 경우, [ 'file $ f | 컷 -f5 -d \ '-gt600]; 그런 다음 $ f; fi; 완료

    image.png : PNG 이미지 데이터, 631 x 185, 8 비트 / 색상 RGBA, 비 인터레이스
    image1.png : PNG 이미지 데이터, 631 x 96, 8 비트 / 색상 RGBA, 비 인터레이스
    image17.png : PNG 이미지 데이터, 638 x 340, 8 비트 / 색상 RGBA, 비 인터레이스
    image18.png : PNG 이미지 데이터, 608 x 448, 8 비트 / 색상 RGBA, 비 인터레이스
    -잘라내는-

    이제 우리는 600 픽셀 너비보다 큰 모든 파일 목록을 가지고 있습니다. 파일을 복사하거나 다른 곳으로 옮길 필요가 있다면 파일 이름을 에코하기 위해 끝에 "file $ f"를 조정할 수 있습니다 :

    f in * .png의 경우, [ 'file $ f | 컷 -f5 -d \ '-gt600]; then echo $ f; fi; done

    image.png
    image1.png
    image17.png
    image18.png
    -잘라내는-

    Linux 쉘은 엄청나게 강력합니다! 이 솔루션은 모든 사람들에게 실용적이지는 않지만 셸에서 작업하는 방법을 알고 있으면 필요할 때이 유형의 작업을 수행 할 수 있습니다..