지각생님의 [스크립트 만들어 게을리 살자 (1)] 에 관련된 글.
게으르게 사는 짤막 팁.
지난달에 썼어야 했던 지각 원고를 쓰고 있는데, 화면 캡처를 위해 vmware 가상머신으로 리눅스를 돌려 캡처를 했지요.
그냥 다른 프로그램 안쓰고 "Print Screen"키를 누른 후 윈더우 그림판에서 붙여 넣는 식으로 했습니다.
그리고 이제 원하는 부분만 잘라야 하는데 하다보니 아 이게 슬슬 지겨워 집니다.
이게 캡처된 이미지. 제가 원하는 것은
이 부분만입니다.
리눅스 컴퓨터에서 GIMP를 실행한 후 파일을 열어 마우스로 클릭~찍 끌어 원하는 부분을 선택해서 저장하는데
손이 삐꾸다 보니 잘 안되더군요. 굼뜨게 한 다섯개쯤 하고 나니, 이제 게을러짐을 욕망할때란 걸 알았습니다.
전에 이미지 크기를 한꺼번에 바꿀때 썼던 convert (imagemagick 패키지의 한 부분) 명령어를 다시 쓰기로 했습니다.
그때는 -resize 옵션을 썼고, 이번엔 -crop 옵션을 씁니다.
사용법은 : $ convert -crop 지오메트리 원래파일 새파일
지오메트리는 자를 부분을 선택하는 건데 아래처럼 했습니다.
$ convert -crop 1024x768+228+150 ubuntu_menu.PNG new_ubuntu_menu.png
짐작할 수 있겠지만 1024x768+228+150 의 뜻은
- 내가 원하는 부분의 크기는 1024x768 (폭x높이) 입니다.
- 원하는 부분이 전체 이미지에서 시작되는 부분(맨 왼쪽 위)의 좌표는 228, 150 입니다.
자, 이렇게 해서 손이 삐꾸이지만 키보드는 비교적 정확히 타이핑하는 사람이 꽤나 그럴듯하게 원하는 작업을 처리했습니다.
근데 이렇게 하나만 딱 해내선 이렇게까지 하는 큰 의미가 없습니다. 저 파일 하나만이 아니라 남아 있는 모든 파일을 모조리 한꺼번에 바꾸도록 해보죠. 저번 스크립트 미니강좌때 했던 대로 하면 됩니다.
bash 쉘의 for ... do.. done 문을 사용해 반복하고, 매번 다른 파일명을 지정해줍니다. 아래와 같은 한 줄 명령어를 치면, 지금 디렉토리에 있는 모든 파일에서 228,150 부분부터 1024x768 크기만큼 잘라 "new_"로 시작하는 새 파일로 만들어줍니다.
$ for image in *; do echo $image; convert -crop 1024x768+228+150 $image new_$image; done
자, 이렇게 또다시 게을리 일을 처리한 지각생, 어서 원고를 마무리하고 홀가분하게 놀려합니다. 이러니 제가 리눅스를 못떠납니다. 재미난 거 있으면 누구 소개좀 시켜주삼 :)