2012년 3월 23일 금요일

특정 크기의 파일 만들기

dd(Unix) - http://en.wikipedia.org/wiki/Dd_(Unix)

dd 명령어를 이용하여 특정 크기의 파일을 생성할 수 있다.
참고: http://darkrang.tistory.com/191
$ dd if=/dev/zero of=[생성할 파일 경로] bs=[block size] count=[개수]
예) 100 MB 크기의 testfile 이라는 이름의 파일을 생성한다.
$ dd if=/dev/zero of=/home/test-user/testfile bs=100M count=1

wiki 인용: block size 에 사용할 수 있는 단위
w means 2
b means 512
k means 1024
M specifies multiplication by 10242
G specifies multiplication by 10243

추가) 단순 파일 생성은 touch 명령어를 이용한다.
$ touch [생성할 파일 path]
예) 0 byte 크기의 testfile 이라는 이름의 파일을 생성한다.
$ touch testfile

추가) 윈도에서는 fsutil 을 이용한다. (윈도 XP 이상 지원)
참고: http://ntfaq.co.kr/2070
> fsutil file createnew [파일 이름] [파일 크기]
예) 1기가 크기의 파일 생성 (1024 x 1024 x 1024 bytes)
> fsutil file createnew c:\file1 1073741824

폴더 내 파일들의 특정 단어가 포함된 줄 나열

폴더 내 파일들에 포함된 특정 단어가 포함된 줄 나열하기

find 명령어 와 xargs 명령어, grep 명령어의 조합을 이용해 보았다.

예) 현재 폴더에 하위 폴더를 포함한 모든 파일에 #include 라는 단어가 포함된 라인을 출력한다.
$ find . | xargs grep --no-filename -s "#include"

위 명령어는 아래 명령어들이 복합되어 있다.
  • find 명령어: 현재 폴더부터 하위 폴더까지 모든 파일을 탐색한다.
  • xargs 명령어: find . 명령어로 찾은 파일명을 grep 명령어의 인자로 넣어준다.
  • grep 명령어: #include 라는 단어가 포함된 줄을 출력한다.

추가) 결과물의 정렬 및 중복된 줄 제거
$ find . | xargs grep --no-filename -s "#include" | sort | uniq -u

위 명령어는 아래 명령어들이 복합되어 있다.
  • sort: 결과물을 정렬한다.
    • -r 옵션을 주면 내림차순으로 정렬한다.
  • uniq: 중복된 내용 처리를 한다.
    • -u 옵션을 주면 중복된 항목 없이 모든 항목을 나열한다.
    • -d 옵션을 주면 중복된 항목들만 나열한다.