스크립팅의 즐거움..

내가 스크립팅이라는 것을 처음 접한 것은 아무래도 BASIC 언어를 시작해서부터가 아닌가 한다. Basic은 컴퓨터 프로그래밍 언어인데 무슨 스크립트용 간이 언어에 해당하느냐 할 수도 있겠지만 내가 보는 한에서 Basic이란 언어 자체가 그런 수준을 넘어서지 못한다고 생각하기 때문이다.

실제로 scripting 간이 언어(?)로 취급받는 perl만 해도 Basic과는 비교할 수 없을 정도의 엄청난 파워를 가지고 있어서 Basic을 프로그래밍 언어라고 하겠다면 perl은 초특급 수퍼파워 프로그래밍 언어라고 할 수 있을 거다.

시대를 거슬러 올라가서 MS-DOS가 이 세상 대부분의 컴퓨터의 operating system이 되고 있던 시절에는 batch라고 해서 (*.bat) 단순한 작업을 하기 위한 간이 언어가 존재했다. 어설프게도. 이 시절 unix를 알게 된 나는 MS-DOS 및 그 부속 시스템이 unix에 비해서 얼마나 초라하고 바보같기 짝이 없는지 알게 되었지만 (그러니까 shell script라든가 shell script와 함께 사용되는 (gnu) utils 등등) 대세가 MS-DOS와 windows였기에 컴퓨터 좀 좋아한다는 친구들이 모두 자신의 PC에 linux를 설치해서 사용할 때 어쩔 수 없이 외면해야 했던 기억이 있다.

세월이 좀 흘러서 직장 생활을 하기 시작할 때도 회사안에서 linux가 깔린 컴퓨터는 찾기 드물었고 멀리 가 봐야 RTOS라고 부르던 unix 비슷한 OS가 설치된 양산용 보드? 정도랄까. 지금은 대형(?) 컴퓨터라는 게 있는지 모르겠지만 linux아니면 windows로 양분되어있는 것 같다. 일반적인 상황에서는 linux가 월등히 훌륭하고 빠르고 가볍기 때문에 선호되지만 뭔가 엔터프라이즈급의 시스템에서는 아직도 윈도우즈가 선호되고 있다는 걸 보면 좀 신기하기도 하다.

그래서 무슨 얘기가 하고 싶은 거냐고?

unix를 기반으로 하는 시스템에서 스크립팅을 하는 것은 매우 즐겁다. 단순히 파일들을 찾아서 이름을 변경한다든가 수많은 파일들을 뒤져서 특정 문자열을 변경하게 한다든가 등등의 일은 스크립팅을 통해서 해야 수월하다. 아직 이런 방법을 모르고 있다면 이런 기능에 특화된 앱을 받아서 써야 한다거나 혹은 수동작업을 해야 하는데 말이다. 사실 이런 일에 특화된 앱이란 게 있기가 힘든 게 사람마다 또 일마다 경우가 너무 다르고 원치 않은 것을 건드리면 (백업을 안했다는 가정하에) 돌이킬 수 없는 문제가 생기기 때문이다.