어쩌라구..?? ㅡㅡa..

Posted
Filed under Linux/tip
convmv 명령으로 변경 가능하고,

쉘 스크립트를 이용하여 변경 가능하다.
파일 이름을 찾아 파이프로 iconv로 보내 변환시키고,
그 결과를 mv를 이용하여 변환한다.

쉘 스크립트 예제
#!/bin/sh

for OLDNAME in `find . -name "*"`; do
  NEWNAME=`echo $OLDNAME | iconv -f euc-kr -t utf8`
  mv $OLDNAME $NEWNAME
done

스크립트 내의 `기호는 작은따옴표가 아니라 탭키 위의 `문자이다. - 주의할것!

convmv 예제
convmv -f euc-kr -t utf-8 -r --nosmart --notest .
2006/02/22 03:30 2006/02/22 03:30
Posted
Filed under Linux/utility
svn 에서 update를 받기 전에 업데이트 받을 목록을 보는 방법이다.
이 명령을 실행했을때 *표시가 있는 파일이 업데이트 될 파일이다.
그러나 업데이트 결과 충돌이 발생할지는 알 수 없다.

svn st -u


옵션 없는 명령만으로는 내가 수정하여 svn에 반영할 목록만 얻을 수 있고,
변경사항이 실제로 내 소스트리에 적용되지 않은채 업데이트 할 목록을 얻을 방법은 없다.
2006/02/15 14:11 2006/02/15 14:11
Posted
Filed under Linux/vi
치환 명령의 구간 설정에서 (다른 명령의 구간도 마찬가지..)
.은 현재위치를,
$은 마지막,
%는 전체를 의미한다.
구간을 지정하는 기호는 ,이다.

:%s/어쩌구/저쩌구/ -> 파일 전체에 대해서 '어쩌구'를 '저쩌구'로 바꾼다.
:.,$s/어쩌구/저쩌구/ -> 현재위치부터 마지막까지 '어쩌구'를 '저쩌구'로 바꾼다.



여러개의 파일을 열었을때 현재 작업 디렉토리와 파일의 작업 디렉토리가 다른경우 불편할때가 있다. (make, 다른 파일을 열때 등등..)
이럴때 사용하는 명령이다. 현재 열린 파일의 디렉토리로 경로를 옮겨준다.

:cd %:p:h



cw, s, r등의 명령을 이용해서 수정한 후 문서의 다른 부분에서 똑같이 수정하려고 할때 . 명령을 사용한다.
바꾸고자 하는 글자 위로 이동한후 .을 누르면 아까와 똑같이 바뀐다.



일반 텍스트(프로그램 소스가 아닌..)를 vi로 편집할때
한 줄이 길어지면 화면에서는 다음줄로 바뀌어서 보이지만,
커서를 이동시키면 화면에 보이는 줄이 아닌 엔터키가 입력된 줄 단위로 커서가 움직인다.
즉, 화면에서는 10줄로 보이지만 vi가 인식하는 줄은 한줄인 경우 커서를 이동하면 10줄을 한번에 건너뛴다.
이때 g를 사용하여 화면에서 보이는 줄 단위로 움직일 수 있다. (단 명령모드에서만..)

gj   -> 화면에 보이는 한줄 아래로 커서를 옮긴다.
gk  -> 화면상의 한줄 위로 커서를 옮긴다.
2006/02/15 09:10 2006/02/15 09:10