Posted on 2004/07/05 12:07
Filed Under 프로그래밍/쉘프로그램 조회수:

======================================================================

    SHELL PROGRAMMING [12]  쉘에서 자주 사용되는 명령어 -1

본 강좌는 본인의 허락없이 무단 복사하거나 타 사이트에 등록하는것을
금지 합니다.  -  서진우(alang at sysmng.com)

======================================================================

12. 쉘프로그래밍에서 자주 사용되는 유용한 리눅스 명령어

12.1 echo

echo [-n] "문자열"

echo 는 ""를 사용하여 "" 안의 문자열을 그대로 출력하는 기능도 있지만
"" 를 사용하지 않을때는 TAB,개행문자,여러개의 space 를 하나의 space
로 바꾸는 기능이 있고 -n 옵션을 사용하면 echo 출력결과의 마지막에 추
가되는 개행을 하지 않는다.

12.2 read

read [변수명]

keyword 를 통해 읽어들인 값을 변수에 저장시킨다.

12.3 sort

sort 는 파일의 내용을 정렬하는 기능이 있다.

options :

    -b  :space 를 무시한다.
    -u  :중복된 값이 없도록 한다.
    -r  :역순으로 정렬한다.
    -tX :field 구분 문자를 설정한다. X자리에 구분문자가 들어감.
    -n  :숫자의 크기 순으로 정렬한다.
    +number :sort 할 field번호를 정한다.

12.4 grep

grep [options] "pattern" file_name

file 내용중에 pattern 이 들어 있는 행을 찾아서 그행을 출력한다.

options :

    -i  :대소문자 구별하지 않는다.
    -v  :pattern을 포함하지 않는 행만 출력한다.
    -n  :행 번호를 출력한다.
    -l  :파일명을 출력한다.

예 ) grep -v "^[ ^I]*$" 파일명 : 공백행을 제외한 이외의 행출력
     grep -v "^[ ^I]*#" 파일명 : 주석(행맨앞에 # 표시가 있는) 제거.

12.5 diff

diff file1 file2

file1 과 file2 를 비교해서 같지 않은 행을 출력한다.

    options :

        -b  : space 는 무시하고 비교한다.
        -e  : file1 을 file2 로 바꾸기 위한 ed script를 만든다.

12.6 cut

file 이나, standard input 으로 들어온 내용을 행 단위로 읽어 들여 열이나
field 에 의해 잘라 standard putput 으로 풀력한다.

    options :

        -cN1,N2-N3,N4
            : column 에 의해서 행을 자를 때 사용한다. ','을 통해 여러개
              의 column을 선택할 수 있고 '-'을 통해서 column의 범위를 설
              정할수 있다.

        -fN : field 에 의해 행을 자른다. N은 N번째 field 를 의미한다.
        -dX : field 구분 문자를 표시한다. X 가 구분문자에 속한다.

12.7 paste

paste [otions] file1 file2 > outfile

파일들의 행을 합쳐서 하나의 행으로 만들어 출력한다.

    otions :

        -d : file들의 행을 합칠때 분리문자를 설정한다.

예)

$ cat file1
------------------------------------------------------
drwxrwxr-x
drwxr-xr-x
drwxrwxr-x
drwxr-xr-x
drwxrwxr-x

$ cat file2
------------------------------------------------------
alangscript
hostingproject
perl
studyroom
temp


$ paste file1 file2
------------------------------------------------------
drwxrwxr-x      alangscript
drwxr-xr-x      hostingproject
drwxrwxr-x      perl
drwxr-xr-x      studyroom
drwxrwxr-x      temp

$ paste -d : file1 file2
------------------------------------------------------
drwxrwxr-x:alangscript
drwxr-xr-x:hostingproject
drwxrwxr-x:perl
drwxr-xr-x:studyroom
drwxrwxr-x:temp

위와 같이 각 file 들의 같은 행을 하나의 행으로 하여 출력을 한다.
-d 옵션을 이용하면 구분문자를 줄수도 있다.  

12.8 uniq

uniq [options] inputfile outputfile

inputfile 의 내용중 중복되는 행을 제거한뒤 outputfile 에 저장한다.

    options :

        -u  : 중복되지 않은행만 출력
        -d  : 중복되는 행만 출력

주의 : uniq 명령은 인접한 행만 비교 하기 때문에 uniq 명령을 사용하
       여 중복된 행을 제거하기 전에 sort 를 이용하여 그 내용을 정렬
       하여야 한다.

12.9 split

split -number filenam

파일을 원하는 행수 만큼씩 나눌때 사용한다. number 는 나눌길 원하는
행수 이다. split 로 파일을 나누고 나면 x 로 시작하는 3자리 파일명으
로  된다.

$ paste -d : file1 file2
------------------------------------------------------
drwxrwxr-x:alangscript
drwxr-xr-x:hostingproject
drwxrwxr-x:perl
drwxr-xr-x:studyroom
drwxrwxr-x:temp

위와 같이 각 file 들의 같은 행을 하나의 행으로 하여 출력을 한다.
-d 옵션을 이용하면 구분문자를 줄수도 있다.  

12.8 uniq

uniq [options] inputfile outputfile

inputfile 의 내용중 중복되는 행을 제거한뒤 outputfile 에 저장한다.

    options :

        -u  : 중복되지 않은행만 출력
        -d  : 중복되는 행만 출력

주의 : uniq 명령은 인접한 행만 비교 하기 때문에 uniq 명령을 사용하
       여 중복된 행을 제거하기 전에 sort 를 이용하여 그 내용을 정렬
       하여야 한다.

12.9 split

split -number filenam

파일을 원하는 행수 만큼씩 나눌때 사용한다. number 는 나눌길 원하는
행수 이다. split 로 파일을 나누고 나면 x 로 시작하는 3자리 파일명으
로  된다.


* 서진우님에 의해서 게시물 복사되었습니다 (2004-10-07 16:03)
Writer profile
author image
-아랑 -

트랙백 주소 : 이 글에는 트랙백을 보낼 수 없습니다

1 ... 3 4 5 6 7 8 9 10 11 ... 18

About

by 서진우

Counter

· Total
: 4610700
· Today
: 168
· Yesterday
: 757