여러 파일에서 특정 문자열을 찾아서 바꿔야할때가 있다. 이걸 일일히 한다는 것은 매우 비생산적인 일이다. 윈도우즈같으면 검색을 사용하거나 이런 기능을 제공하는 에디터 프로그램 등을 찾아봐야하겠지만, 리눅스(유닉스)에서는 자잘한 유틸리티들의 조합이나 스크립트 등을 통해서 쉽게 해결할 수 있다.

  • txt 확장자를 가진 파일들에서 문자열 검색하기
    find . -name "*.txt" -print0 | xargs -r -0 grep -l [문자열]
  • 문자열을 치환하는 스크립트
    #!/bin/bash
    #특정 디렉토리에 있는 모든 파일에서 일치하는 문자열을 모두 찾아 바꾸기.
    
    if [ $# -ne 2 ]
    then
    echo "사용법 'basename $0' find_string replace_string [directory]"
    exit 65
    fi
    
    if [ -n "$3" ]
    then
    directory=$3 # 디렉토리 이름이 인자로 주어질 경우...
    else
    directory=$PWD # 아니면 현재 디렉토리에 대해서.
    fi
    
    #for file in $directory/*
    for file in $(find . -type f -name '*' | sort )
    do
    if [ $0 != $file ];then
    IsMessage=$(grep "$1" -c $file)
    # echo $file
    # if [ $IsMessage = 0 ]; then
    # echo $file No Message
    # else
    # echo $file Message
    if [ $IsMessage != 0 ]; then
    cp $file $file.ori
    sed -e "s%$1%$2%" $file > $file.tmp
    echo $file에서 찾아 바꾸기를 하였습니다.
    mv "$file.tmp" $file
    fi
    fi
    done
    
    exit 0
  • find와 perl을 이용한 문자열 치환
    find . -type f -exec perl -pi -e 's|test|TESTING|g' {} ;
  • VIM을 이용한 치환
    1. vim 실행
      vim `find . -type f`
    2. 실행후
      :set hidden
      
      :argdo %s/바꾸기전문자열/바꾼후문자열/gc
    3. 저장
      :wall
  • find와 sed를 이용한 스크립트
    #!/bin/bash
    for i in `find . -name "*" -print`
    do
    sed -e s/test/TESTING/g $i > $i.old
    mv $i.old $i
    done

'Operating' 카테고리의 다른 글

리눅스용 네이트온 클로즈 베타  (0) 2007.07.22
부요 기반 리눅스에서 DVD 타이틀 보기  (0) 2007.07.05
우분투에서 DVD 보기  (0) 2007.07.04

'Operating' 카테고리의 다른 글

리눅스에서 여러 파일 문자열 바꾸기  (0) 2007.07.10
우분투에서 DVD 보기  (0) 2007.07.04
우분투에서 한글2005 설치  (0) 2007.06.06

리눅스에서 DVD 보기는 참 간단하다. 영상만 보려면 별다른 설정없이 xine이나 mplayer 설치후 그냥 볼수 있지만, 타이틀 메뉴를 이용하기 위해서는 약간의 수고가 필요하다. xine이 설치되어 있다면, w32codecs 를 더 설치하면 DVD 타이틀 메뉴를 이용할 수 있다. 이것은 xine 기반의 Kaffeine이나 totem-xine 에서도 동일하다.

w32codecs 설치는 다음 두줄로 끝~!

$ wget -c http://www.debian-multimedia.org/pool/main/w/w32codecs/w32codecs_20071007-0.1_i386.deb
$ sudo dpkg -i w32codecs_20061022-0.0_i386.deb

추가> 패키지가 버전업되면서 이름이 바귈수 있다. 그때는 사이트에 방문하여 확인이 필요하다.

'Operating' 카테고리의 다른 글

부요 기반 리눅스에서 DVD 타이틀 보기  (0) 2007.07.05
우분투에서 한글2005 설치  (0) 2007.06.06
리눅스에 picasa 2 설치하기  (0) 2007.04.23

피카사 웹 앨범이 1기가로 용량이 늘어났다는 말을 듣고, 피카사를 깔고 한번 써보기로 했다. Windows XP에서 돌아가는 피카사는 배너를 통해서 설치하면 웹 앨범 기능이 없지만, 설치직후 업데이트를 통해서 웹 앨범을 사용할 수 있게 된다.

하지만, 리눅스에서 사용하기 위해서 피카사 사이트(http://picasa.google.com/)를 가보면, 'Windows XP 전용'이라고만 적혀있고, 리눅스용은 볼 수 없다. 분명히 리눅스용이 나왔다고 했는데... 약간 검색을 해보니 http://picasa.google.com/linux/ 에 리눅스용 페이지가 있었다.

다운로드 페이지에 보면 WINE, Mozllia 를 이용했다는 얘기가 있고, DEB / RPM 패키지와 함께, installer 버전도 다운로드 받을 수 있다. 사용하는 배포판에 맞게 다운로드 받아서 설치하면 된다. 문제는 설치후 실행하면 피카사가 예전 버전이라서 피카사 웹 앨범을 사용할 수 없다는 것이다. 이 문제를 해결하기 위해서 wine을 설치하고 최신 버전의 Windows XP용 피카사를 설치한다.

설치가 끝나면 홈디렉토리의 '.wine/drive_c/Program Files/Picasa2' 에 새로운 버전의 피카사가 설치되어 있다. 이 것을 모두 /opt/picasa/wine/drive_c/Program Files/Picasa2 에 복사한다.

이제 picasa를 시작하면 최신버전의 피카사를 사용할 수 있다.

'Operating' 카테고리의 다른 글

우분투에서 한글2005 설치  (0) 2007.06.06
Use vmware-player in ubuntu dapper  (0) 2006.11.08
install XGL + compiz in ubuntu dapper  (0) 2006.11.05
u-boot 에서 네트워크 설정이 모두 끝났다고 가정한다. 우선 부팅할 커널 이미지가 필요하다.

http://www.aesop-embedded.org/download.html

이곳에 가면 SMDK용으로 만든 커널이 있다. 다운받아서 다음과 같이 컴파일한다.
make menuconfig
Load an Alternate Configuration File 선택
./arch/arm/configs/smdk2410_defconfig 입력
make
./image.sh

그 뒤에 tftp 데몬을 띄우고 만든 이미지를 tftp 경로에 넣어둔다.
그리고 u-boot에서 다음과 같이 실행한다.

tftp 32000000 [이미지파일이름]
bootm

SMDK2410은 0x30000000 번지부터 램 영역이다. 위와 같이하면 램 영역에 커널을 다운로드 받은 뒤에 그 걸 이용해 부팅한다.

'Etc' 카테고리의 다른 글

한국, OOXML 국제표준 찬성  (0) 2008.03.29
u-boot compile for SMDK2410  (0) 2007.04.01
OPENice32 사용  (0) 2007.04.01

+ Recent posts