내가 개발자로써 개발 플랫폼으로 리눅스를 좋아하는 이유...

emptynote의 이미지

소스를 공개할 목적의 프로그램을 작성했기에 영문으로 작성자 이름을 적어났습니다.

그런데 아무 생각없이 "이름 + 성" 으로 적었거든요.

우연히 영문 표기 법 표준(?)이 궁굼해서 구글등등 검색을 해 보니

국제 기구등등에서는 각 나라 전통을 존중해주는 차원에서 울나라의 경우 "성+이름" 으로 표기를 인정한다는 글을 보게 되네요.

글을 읽지 않았다면 모르까 글을 읽은 이상 변경해야겠구나 생각했는데,

아래처럼 리눅스에서 명령어 한줄이면 되어서 기쁘네요.

물론 윈도우에서도 할수있겠지만 리눅스랑 달리 어떤 프로그램을 설치(?)해야 할것같아 윈도우에서의 작업하고 싶지 않네요.
-------------------
리눅스에서의 문자열 치환 참고 주소 : http://soharang.tistory.com/1064

2. 현재 경로로부터 하위 폴더까지의 "cpp"파일들 내에 "lion"이란 문자열을 "tiger"로 변경하는 경우

find . -name "*.cpp" -exec perl -pi -e 's/lion/tiger/g' {} \;

mirheekl의 이미지

그런 문제점들을 지적받았는지, 윈도7부터 파워셸이 직접 내장돼있고 아래 스크립트로 동일한 작업을 할 수 있습니다. 문법에 차이가 있지만서도.

ls *.cpp -rec | %{ $f=$_; (gc $f.PSPath) | %{ $_ -replace "lion", "tiger" } | sc $f.PSPath }

--

emptynote의 이미지

좋은 팁 감사합니다.

그런데 하위 디렉토리까지 검색 맞나요?

ls *.cpp -rec 라고 하면 현재 경로이하를 전부 검색해서 .cpp 파일을 찾아 준다로 해석했는데 아닌가 보네요.

뭐.. 어째든 충격이네요.

윈도우와 리눅스를 가르는 가장 중요한 키포인트중 하나가 ls 와 dir 이라고 생각합니다.

ls가 alias 로 잡힌것 같은데

아무리 그래도 그렇지 아무런 설정 안했는데도 ls 라니...

개인적인 생각에 파워쉘 주요 사용자층을 누구로 잡았는지 충분히 알겠네요.

----------- 추가
현재 경로에서 특정 확장자를 갖는 파일들 찾기 : ls . -recurse -filter "*.java"

jeemin1의 이미지

플랫폼이라기 보다는 플랫폼에 기본설치되는 툴의 강력함으로 봐야 겠네요 그건....

아니면 저런 이러저러한것들이 기본설치되어 있는것도 플랫폼의 특징중 하나로 볼수도 있으려나요...

emptynote의 이미지

기본 제공 매우 중요하다고 생각합니다.

지극히 개인적인 생각이지만,

유니스 전통이 shell 환경에서 텍스트를 다루는것을 중요하게 생각하여 기본 제공인 반면

윈도우는 GUI 에 집중하다 보니 shell 환경에는 다소 미흡한것이 사실 아닌가요?

설치 howto 문서를 작성해야 하는 입장에서 기본 제공 유무는 howto 문서를 쉽게 작성할 수 있냐 없냐?를 결정짓는 변수입니다.