Engineering/Etc 69

대용량 텍스트 파일 내용 변경하기

텍스트 파일 내용중에 일부를 다른 문자열로 치환하기 위해 sed 로 실행해보았다.텍스트 파일은 12 GB 정도, 서버 : CPU Intel Xeon 2.6 GHz, RAM 4GB# sed 's/AAA/BBB/g' text > conv_text실행시간 : 대략 20분에서 30분에서 작업이 종료. -> sed 자체에서 변경하는 부분이 문제일 수도 있지만, redirect 로 다른 파일로 저장하는 것도 실행 시간에 문제가 되었을 것이다. perl 을 사용해서 동일한 작업을 수행했다.# time perl -pe 's/AAA/BBB/g' textreal 6m51.624suser 1m3.129ssys 0m42.110s-> 대략 6,7분 사이에 완료되었다. 백업파일 옵션을 안줘서 그런가해서 다시한번 테스트 해보았다...

Engineering/Etc 2012.04.19

Windows XP 에서 필요없는 하위 디렉토리/파일 삭제

linux 파일삭제 명령어(/bin/rm)에서는 recursive(-r) 옵션이 존재하기 때문에 쉽게 명령어 하나로 ".svn" 디렉토리 같은 것들을 삭제할 수 있다. 그러나, 윈도우에서는 명령어(del, remove, rmdir) 에는 옵션이 없다. /S 옵션이 있긴하나 현재 디렉토리만 가능. linux 용 rm 소스를 가져와서 컴파일해야하나 싶긴한데, 프로그램/스크립트 짜기도 귀찮다 싶다. 구글 검색을 통해서 알아낸 가장 쉬운 방법은 생각보다 간단하다. 윈도우 탐색기에서 삭제하려고하는 윈도우 디렉토리에서 "검색" 을 통해 삭제하길 원하는 키워드를 포함한 파일/디렉토리들을 검색하고, 전체 선택 후 "삭제" 만 하면 된다. http://stackoverflow.com/questions/4889619/co..

Engineering/Etc 2012.01.26

centos 64-bit 머신에서 32-bit binary 실행

# ./something -bash: ./something: /lib/ld-linux.so.2: bad ELF interpreter: 그런 파일이나 디렉토리가 없음 # file something something: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), stripped -> 32bit 머신에서 컴파일 # yum install glibc.i686 # ldd something linux-gate.so.1 => (0xffffe000) libpthread.so.0 => /home/xxx/lib/libpthread.so.0 (0x00cbf000) libc.so.6 => /home/..

Engineering/Etc 2012.01.18

Head First HTML with CSS & XHTML

8장. CSS 시작하기 : 빈 엘리멘트. h1 { color: gray; } -> h1 : 선택자(selector). 엘리멘트 h1, h2 { color: gray; } p { font-family: sans-serif; } - 상속 - 에 엘리먼트와 엘리먼트가 있을때, 엘리멘트에 스타일을 지정하면 엘리먼트의 자식 엘리먼트들도 동일한 스타일을 상속받는다.(자식 엘리먼트가 font-family 속성을 가지고 있을 경우에만 해당) - 상속의 재정의(overriding) body { font-family: sans-serif; } h1, h2 { color: gray; } em { font-family: serif; } em 엘리먼트는 body 로부터 상속받은 font-family 속성을 재정의하기 위해, s..

Engineering/Etc 2011.11.30

CD/DVD 굽기 프로그램(CD/DVD Burning 무료 프로그램들

윈도우 XP 에서 갑자기 DVD 에 데이타를 복사할 일이 생겼는데, nero 프로그램도 없어서 찾아보았는데 다음과 같이 훌륭하게 정리되어 있는 곳을 찾게 되었다. http://www.makeuseof.com/tag/the-best-free-alternatives-to-nero-cddvd-burner/ 무료로 사용할 수 있는 프로그램들을 쉽게 설명을 해주고, 친절하게도 제품들 링크까지도 다 연결되어 있다.

Engineering/Etc 2011.09.17

unix(linux) 에서 date 를 unixtime 형태로 변환

프로그래밍 언어 에서 문자열 날짜(2011-07-19)를 unix timestamp(1311001200) 형태로 변환해주는 함수 들이 많습니다. 예) - php : strtodate() date() - mysql DB : date() from_unixtime() 리눅스에서 date 명령어를 이용해서 unix timestamp 값을 확인할 수 있는 방법이 있습니다. # date -d "2011-07-10" +%s 1311001200 # date -d "now" +%s (또는 date +%s) 1311692407 (-> 두 명령어 다 현재시간의 unix timestamp 값을 얻는다) 반대로 unix timestamp 값을 문자열 형태로 변경하는 방법입니다. # date -d @1311692407 Wed J..

Engineering/Etc 2011.07.27

vim 에서 UTF-8 지원

UTF-8 을 지원하기 위해 vi 에서 설정할 값은 "set enc=utf-8" 입니다. 계속해서 작업할 생각이면, .vimrc 파일에 내용을 추가합니다. set encoding=utf-8 # utf-8 입력가능 set fileencodings=utf-8,euc-kr # utf-8, euc-kr 을 자동으로 인식. 인코딩값이 utf-8 이어도 euc-kr 인 파일을 읽어도 제대로 보입니다. 그리고, 많이 사용하는 터미널 프로그램인 putty 에서 UTF-8 을 지원하기 위해서는 "Window-Translation" 에서 character set 을 "UTF-8" 으로 설정하고, "Apperance" - "font setting" 을 굴림체로 변경합니다. 터미널에서 export LANG="UTF.ko_KR..

Engineering/Etc 2011.07.26

vi 에서 shell 기능 막기

vi(vim) 으로 파일 편집 작업중에 ":shell" 으로 하던 작업을 중지하고, shell 로 빠져나갈 수 있습니다. 편리하긴 하지만, 의도적으로 쉘로 빠져나가는 것을 막기 위해 할 수 있는 방법을 찾아보았습니다. CLI 기능 작성 중 'vi' 를 사용해야하는 경우, root 나 특정 사용자 권한을 가질 수 있는 상황을 막을 경우에 도움이 될 듯합니다. 1. /bin/false 를 이용 : 현재 작업중인 쉘을 /bin/false 로 변경하여 vi 실행 # SHELL=/bin/false vi /tmp/33 문제점 : vi 에서 "set shell=/bin/sh" 으로 쉘을 변경하면, shell 프롬프트로 빠져나올 수 있다. 2. vim -Z 이용 : vim 옵션중 '-Z' 를 붙여서 파일 작업 # vi..

Engineering/Etc 2011.07.20

gdb 에서 유용한 기능 refresh

디버깅을 위해서 gdb 를 많이 사용하지만, 수많은 옵션들을 다 이용하지 못합니다. break 를 많이 사용했었지만 그와 함께 사용하면 좋을 refresh 옵션을 사용하면 마치 VC 의 디버그처럼 소스코드에 하이라이트(highlight) 가 켜져서 현재 break point 중인 소스코드를 쉽게 확인할 수 있습니다. ================================================================================ # gdb exe_bin (gdb) b test --------> test() 에 break point 설정 (gdb) r --------> 진행 .................................. Breakpoint 1, test () ..

Engineering/Etc 2011.06.14