RSS구독하기:SUBSCRIBE TO RSS FEED
즐겨찾기추가:ADD FAVORITE
글쓰기:POST
관리자:ADMINISTRATOR
'unexpand'에 해당되는 글 1

출처 : 대전국제IT교육센터 정성재 강사

 

1. sort
(1) 설명 : 파일의 내용을 정렬한다. 아무옵션이 없으면 공백,숫자,대문자,소문자순이다. 참고로
           여기서 숫자는 실제숫자의 대소가 아닌 숫자형태의 문자로 취급한다.
(2) 사용법
   sort [option] 파일이름
(3) option
   -b       : 선행하는 공백문자를 무시한다. (공백라인은 제외)
   -f       : 대,소문자를 무시한다.
   -r       : 정렬 순서를 반대로 하여 내림차순으로 정렬한다. (소문자,대문자,숫자,공백)
   -o 파일명 : 정렬한 결과를 파일명으로 저장한다.
   -c : 파일이 정렬되었는지를 검사한다. 정렬되었으면 아무런 출력도 하지 않고 정렬되지 않았다면
       정렬이 되지 않았다는 메시지를 출력한다.
   -n : 숫자를 같은 문자가 아닌 정말로 숫자로 취급해서 수의 크기대로 정렬한다.
   -u : unique의 약자로 중복되는 라인은 출력하지 않는다.
   +pos    : 1+pos번째 필드를 기준으로 정렬한다. 즉 필드의 시작을 0부터한다. 만약 +m.n형태를
            취하면 1+m번재 필드의 1+n번째 문자를 기준으로 정렬한다.
   +pos1 -pos2 : pos1에서 키를 시작하고 pos2전에 끝낸다. 필드번호와 문자 오프셋은 0으로 시작한
                다. (-k은 1부터 시작한다.)
   -t separator : 각 필드를 구분하는 키의 위치를 구분자로(separator)로 규정한다.
   -k n[,m] : 정렬한 키의 위치를 n번째 필드로 한다.(m값이 있을경우 n에서 시작해서 m에서 끝냄)
             (이 키의 값은 1부터 시작한다. +붙는 것과 다르다.)
(4) 사용예
  (가정) sort.txt파일의 내용이 다음과 같다고 한다.
       abc
        a
       ABC
       1abc
  1) [posein@neuro posein]$ sort sort.txt
      a
     1abc
     ABC
     abc
  2) [posein@neuro posein]$ sort -r -o sortrev.txt sort.txt
     [posein@neuro posein]$ cat sortrev.txt
     abc
     ABC
     1abc
      a
  3) [posein@neuro posein]$ sort -t: -n -k3 /etc/passwd
      => 각 필드를 구분하는 구분자는 ':'를 기준으로 하면 숫자순으로 정렬하고 필드값은 3번째로
        한다.
  4) [posein@neuro posein]$ sort -t: -k2,2n -k5.3,5.4 /etc/passwd
      => 필드의 구분은 :로 하고, 두번째필드로 숫자정렬한다. 정렬한 값이 같은 경우에는 다섯번
        째필드의 세번째와 네번째문자를 비교하여 정렬한다.
(가정2) pos.txt의 내용이 다음과 같다고 한다.
    [posein@neuro posein]$ cat pos.txt
     5 6 2 4 9
     3 2 8 4 3
     1 3 7 3 1
     2 3 4 5 6
     6 1 3 2 2
  1) [posein@neuro posein]$ sort +1 pos.txt
     6 1 3 2 2
     3 2 8 4 3
     2 3 4 5 6
     1 3 7 3 1
     5 6 2 4 9
      => + 옵션은 첫번째필드를 0부터 시작한다.
  2) [posein@neuro posein]$ sort -k 4 pos.txt => 정렬한 키의 기준을 4번째 필드로 한다.
     6 1 3 2 2
     1 3 7 3 1
     3 2 8 4 3
     5 6 2 4 9
     2 3 4 5 6

2. sed
(1) 설명 : 스트림편집기(stream editor)로 쉘 스크립트나 다른 명령의 출력을 여과하는 파이프라인
           을 사용한다. 즉 파일의 내용을 변경없이 화면상 출력만 필터링한다. sed는 ed명령과는
           다르게 입력라인을 하나씩 읽고, 수정하고 출력하기 때문에 버퍼를 사용하지 않는다.
           버퍼를 사용하지 않으면 파일 크기에 제한없이 작업을 할 수 있어 sed는 큰 파일을
           처리할 때 주로 사용한다.
(2) 사용법
   1) sed 'command\
      >문자열' 텍스트파일명
        => 텍스트를 변경하거나 삽입할 경우에는 여러줄을 사용한다. command는 꼭 ' '로 묶는다.
   2) sed [option] 'command' 텍스트파일명
     => 삭제하는 경우등은 한줄에 명령을 내려 수행할 수 있다. 문자열이 붙지 않는 command에
       대해서는 작은따옴표도 생략할 수 있다.
(3) option
   -n : 라인의 지정할 때 쓰인다.
   -f 파일명: 특정한 스크립트가 들어있는 파일로 부터 읽어들여 처리한다.
(4) command
   'n'a\ text : n은 정수값을 넣을 수 있으며, 지정한 줄 밑에 문자열을 추가하여 출력한다. n값을
               설정을 하지 않으면 매 줄마다 밑으로 지정한 text를 덧붙여 화면에 출력한다.
   'n'd       : n은 정수값을 넣을 수 있으며, 지정한 줄을 삭제하여 화면에 출력한다. n값을 설정
               하지 않으면 텍스트파일의 내용을 아무것도 출력하지 않는다. 또한 n값을 '1,4d'방법
               으로 범위를 지정할 수 있다.
   'n'i\ text : 지정한 줄 앞에 문자열을 삽입하여 출력한다. 역시 n값을 설정하지 않으며 매
               줄앞에 문자열을 삽입하여 출력한다.
   p : 선택한 라인을 한번 더 출력한다. '/문자열/p'하면 선택한 문자열이 있는 라인을 한번 더
      출력한다. 그냥 p command만 사용하면 모든 라인을 두번씩 출력한다.
   q : 명시된 라인에 도달할 때 종료한다. 아무값도 설정하지 않으면 1줄만 출력한다.
   r 파일이름 : 파일을 읽어서 출력한다.
   s/string1/string2/ : 각라인의 첫번째 string1만 string2로 바꾼다.
   s/string1/string2/g : 모든 라인의 string1을 string2로 바꿔 출력한다.
(참고1) 현재 리눅스에서는 's\string1\string2\g' 와 's/string1/string2/g' 다 된다.
(4) 사용예
   (가정) test.txt의 내용이 다음과 같다고 가정한다.
    I study linux
    I study windows
    PHP & MySQL
   1) [posein@neuro posein]$ sed 'a\
      > I am King' test.txt
      I study linux
      I am King
      I study windows
      I am King
      PHP & MySQL
      I am King
       => test.txt파일에서 각 행다음에 'I am King'이라는 문자열을 붙여서 출력한다.
   2) [posein@neuro posein]$ sed '2a\
      > I am King' test.txt
      I study linux
      I study windows
      I am King
      PHP & MySQL
       => test.txt파일에서 2행다음에 즉 3행에 'I am King'이라는 문자열을 붙여서 출력한다.
   3) [posein@neuro posein]$ sed 'd' test.txt => 아무 내용도 출력하지 않는다.
   4) [posein@neuro posein]$ sed '2d' test.txt
      I study linux
      PHP & MySQL
       => 2번째 줄을 삭제하고 출력한다.
   5) [posein@neuro posein]$ sed '1,2d' test.txt
      PHP & MySQL
   6) [posein@neuro posein]$ sed 'i\
      > I am LinuxMania' test.txt
      I am LinuxMania
      I study linux
      I am LinuxMania
      I study windows
      I am LinuxMania
      PHP & MySQL
   7) [posein@neuro posein]$ sed 's/study/learning/' test.txt
      I learning linux
      I learning windows
      PHP & MySQL
   8) [posein@neuro posein]$ sed p test.txt => 모든 라인을 2번씩 출력한다.
      I study linux
      I study linux
      I study windows
      I study windows
      PHP & MySQL
      PHP & MySQL
   9) [posein@neuro posein]$ sed '2p' test.txt => 두번째 라인만 2번 출력한다.
      I study linux
      I study windows
      I study windows
      PHP & MySQL
   10)[posein@neuro posein]$ sed '/linux/p' test.txt
       => 'linux'라는 문자열을 찾아 2번 출력한다.
      I study linux
      I study linux
      I study windows
      PHP & MySQL
   11)[posein@neuro posein]$ sed q test.txt
      I study linux
   12)[posein@neuro posein]$ sed '2q' test.txt
      I study linux
      I study windows
(가정3) 여기서 test1.txt의 내용은 다음과 같다.
       I learning linux
       I learning windows
       PHP & MySQL
   13)[posein@neuro posein]$ sed r test.txt test1.txt
      I study linux
      I study windows
      PHP & MySQL
      I learning linux
      I learning windows
      PHP & MySQL
       => 먼저 test.txt라는 파일을 읽어서 출력한 다음에 test1.txt의 내용을 출력한다.
   14)[posein@neuro posein]$ sed 'r test.txt' test1.txt
      I learning linux
      I study linux
      I study windows
      PHP & MySQL
      I learning windows
      I study linux
      I study windows
      PHP & MySQL
      PHP & MySQL
      I study linux
      I study windows
      PHP & MySQL
       => test1.txt파일을 기본으로 출력하는 데 각 라인 다음에 test.txt 파일의 내용을 읽어들여
         출력한다.
   15) [posein@www posein]$ cat sedscr
       s/learning/study/g
       [posein@www posein]$ sed -f sedscr test1.txt
       I study linux
       I study windows
       PHP & MySQL
   16) sed -n '21,30p' /etc/passwd > b.txt
      => /etc/passwd파일의 21번째부터 30번째라인까지를 b.txt로 저장한다.
        head -30 /etc/passwd | tail > b.txt 와 같은 결과이다.

3. expand
(1) 설명 : 일반적으로 설정되어 있는 탭(tab)의 크기(8)를 원하는 공백(space)의 수로 바꾸어
           화면에 출력한다. 즉 tab을 space로 전환시켜주는 명령이다. 기본적으로 원본파일을
           수정하지 않고 표준 출력으로 보여준다.
(2) 사용법
   expand -크기 파일명
   expand -t 크기 파일명
(3) 사용예
   1) [posein@neuro posein]$ cat tab.txt
      a       a       a       a       a
      012345678
        => 일반적인 탭의 간격은 8이다.
   2) [posein@neuro posein]$ expand -t 3 tab.txt
      a  a  a  a  a
      012345678
        => 탭의 간격을 3으로 설정하였다.
   3) [posein@www posein]$ expand -t 5 tab.txt > tab5.txt
      [posein@www posein]$ cat tab5.txt
      a    a    a    a    a
      012345678
         => 탭의 간격을 5으로 설정하였다.

4. unexpand
(1) 설명: 스페이스의 크기를 탭으로 전환시켜 준다.
(2) 사용법
   unexpand options 파일명
(3) options
   -a : 행의 시작 부분의 공백뿐만 아니라 모든 공백을 변환한다.
   -t 공백크기 : 지정한 공백크기를 하나의 Tab(8칸)으로 변환한다. (--tabs=공백크기)
(4) 사용예
   1) [posein@www posein]$ cat tab2.txt
      a     a     a     a     a
      01234567890
       => 현재 공백의 크기가 6이다.
      [posein@www posein]$ unexpand -a -t 6 tab2.txt
      a       a       a       a       a
      01234567890
       => 크기가 6인 모든 공백을 하나의 Tab(8칸)으로 변환한다.
   2) [posein@www posein]$ unexpand -a --tabs=6 tab2.txt > tab6.txt
      [posein@www posein]$ cat tab6.txt
      a       a       a       a       a
      01234567890
       => tab2.txt 문서에서 크기가 6인 모든 공백을 하나의 Tab(8칸)으로 변환한다.

5. cut
(1) 설명 : 데이터의 열(컬럼)을 추출할 때 사용한다. 이 때 추출할 데이터는 파일 안 각 라인의
           글자(character), 바이트(byte) 또는 필드(field)일 수 있다.
(2) 사용법
   cut option file_name
(3) option
   -c : 문자수로 따져서 추출한다.
   -f : 파일 내의 필드로 따져서 추출한다.
   -d : 필드 구분자를 사용한다. (기본값은 TAB 이다.)
(4) 사용예
   1) [posein@www posein]$ cut -c 1-10 /etc/passwd
      linuxone:x
      bluesky:x:
      eagle5:x:5
      fish:x:520
   2) [posein@www posein]$ cut -f 1,3 -d: /etc/passwd
      linuxone:517
      bluesky:518
      eagle5:519
      fish:520
       => /etc/passwd파일의 첫번째,세번째 필드의 값을 보여준다. 필드의 구분은 ':'로 한다.
   3) [posein@www posein]$ cut -f1 -d: /etc/passwd |sort -r |less
      xitem
      xfs
      wnn
      webalizer
      vcsa
      uucp
      sync
      sshd
       => /etc/passwd파일의 첫번째 필드(:기준)부분만 잘라 역으로 정렬한뒤 한페이지단위로
         보여준다.

6. fmt
(1) 설명 : 간단한 문서 포맷도구로 문단의 들여쓰기 중복되는 공백문자등을 처리할 수 있다.
(2) 사용법
   fmt option file_name
(3) option
   -u : 중복되는 공백 문자를 모두 하나로 취급한다.
   -t : 단락의 처음 두 라인의 들여쓰기를 원래대로 유지한다.
   -w : 최대 라인 폭을 설정한다.(디폴트 75컬럼) w를 생략하고 -뒤에 직접 입력해도 된다.
(4) 사용예
   (가정) test2.txt의 문서를 다음과 같다고 하자.
    I study a a linux
    I study windows
    PHP & MYSQL
   1) [posein@www posein]$ fmt -w 10 test2.txt
      I study a
      a linux
      I study
      windows
      PHP &
      MYSQL
   2) [posein@www posein]$ fmt -u test2.txt
      I study a a linux I study windows PHP & MYSQL

7. nl
(1) 설명 : 각 라인에 번호를 붙여 표준출력으로 보여준다.
(2) 사용법
   nl [option] file_name
(3) option
   -s'구분자' : 각 라인위 문자열과 변호를 사이에 구분자를 설정한다.
(4) 사용예
   1) [posein@www posein]$ nl test2.txt
         1  I study a a linux
         2  I study windows
         3  PHP & MYSQL
   2) [posein@www posein]$ nl -s'}' test2.txt
        1}I study a a linux
        2}I study windows
        3}PHP & MYSQL

8. od
(1) 설명 : octal dump의 약자로 파일을 8진수, 10진수, 16진수 또는 ASCII형태로 출력한다.
(2) 사용법
   od [option] file
(3) option
   -o : octal(8진수)로 출력한다. 기본값으로 설정되어 있다.
   -d : decimal(10진수)로 출력한다.
   -x : hexadecimal(16진수)로 출력한다.
   -a : named character
   -c : ASCII값으로 출력한다.
   -f : flationg point(부동소수점형태)로 출력한다.
(4) 사용예
   (가정) test.txt의 파일의 내용이 다음과 같다고 하자.
     worldcup
     linux
   1) [posein@www posein]$ od test.txt
      0000000 067567 066162 061544 070165 066012 067151 074165 000012
      0000017
       => 8진수 형태로 변환한다.
   2) [posein@www posein]$ od -a test.txt
      0000000   w   o   r   l   d   c   u   p  nl   l   i   n   u   x  nl
      0000017
       => named character 값으로 출력한다. 새로운라인을 'nl'로 표시한다.
   3) [posein@www posein]$ od -c test.txt
      0000000   w   o   r   l   d   c   u   p  \n   l   i   n   u   x  \n
      0000017
       => ASCII값으로 출력한다. 새로운라인을 '\n'으로 표시한다.

9. paste
(1) 설명 : 여러 파일의 해당 라인을 합친다. 각 파일의 해당 라인을 연속적으로 출력하고, 새로운
           라인앞에는 탭을 삽입한다.
(2) 사용법
   paste [option] file1 file2
(3) option
   -d 구분자 : 결합하는 라인의 구분자를 지정한다. 기본값은 탭문자이다.
   -s : 한 파일의 내용을 먼저 연속적으로 출력한 후 다음 파일을 덧붙여 출력한다.
(4) 사용예
   (가정) [posein@www posein]$ cat os.txt
          linux
          windows
          [posein@www posein]$ cat lang.txt
          php
          asp
   1) [posein@www posein]$ paste os.txt lang.txt
      linux   php
      windows asp
       => 기본값인 탭문자를 삽입하여 두 파일의 라인을 합친다.
   2) [posein@www posein]$ paste -d: os.txt lang.txt
      linux:php
      windows:asp
       => 구분자로 ':'를 삽입하여 두 파일의 라인을 합친다.
   3) [posein@www posein]$ paste -s os.txt
      linux   windows
       => os.txt파일의 라인을 하나로 합친다.
   4) [posein@www posein]$ paste -s os.txt lang.txt
      linux   windows
      php     asp
       => 먼저 os.txt라는 파일의 라인을 합친뒤에 화면에 출력하고 다음에 lang.txt파일의 라인을
         합쳐서 화면에 출력한다.

10. pr
(1) 설명 : 표준출력으로 파일을 재구성하거나 쓰기 위한 명령으로 문서 파일을 양식화하는 도구로
           사용된다.
(2) 사용법
   pr option file
(3) option
   +페이지 : 지정한 페이지부터 출력한다. 기본값은 1이다.
   -컬럼 : 출력할 열의 수를 정한다.
   -n : 파일에 라인번호를 붙여서 출력한다.
   -d : 라인 사이를 한 라인씩 띄워서 출력한다.
   -h : 각 페이지의 헤더를 명시한다.
   -l 라인 : 페이지 길이를 '라인'에 지정한 수로 설정한다. 기본값은 66이다.
   -m : 각 파일을 열(column)대로 합쳐서(merge) 출력한다. 최대 8개 파일을 합칠 수 있다.
   -w width : 라인의 폭을 width에 지정한 수로 설정한다. 기본값은 72이다.
(4) 사용예
   (가정) os2.txt
    linux
    windows
     php
     mysql
   1) [posein@www posein]$ pr -n os.txt


      2002-06-01 00:40                    os.txt                     Page    1


          1   linux
          2   windows
       => 페이지 단위로 출력됨을 알 수 있다.
   2) [posein@www posein]$ pr -d os.txt
       => 각 행 사이에 공백을 주어 출력됨을 알 수 있다.
   3) [posein@www posein]$ pr -n os.txt | lp
        => os.txt 파일의 각 라인에 번호를 붙여 프린터로 출력한다. 물론 이 경우에 프린터가 설치
          되어 있어야 한다.
   4) [posein@www posein]$ pr -3dh "pr test" os2.txt
      2002-06-01 01:01                    pr test                    Page    1


      linux                    php                     mysql

      windows

       => 기본 한 라인에 3열(즉, 한라인에 기존파일의 3라인을 처리)을 출력하고 파일의 헤더를
         'pr test'라고 지정한다.
   5) [posein@www posein]$ pr -l30 -w50 -n /etc/passwd
       => /etc/passwd 파일을 50컬럼 30라인을 한 페이지로 하여 각 라인에 번호를 붙여 출력한다.

11. split
(1) 설명 : 하나의 파일을 여러 개의 작은 파일로 분리하는 명령어로 옵션없이 실행하면, 기본값이
           1000라인 단위로 파일을 분리한다. 별도의 파일명을 지정하지 않으면 xaa, xab..등과
           같은 형태로 생성된다.
(2) 사용법
   spilt [option] 분리하고자_하는_파일명 [생성하고자하는_파일명]
(3) option
   -b 사이즈 : 파일을 주어진 바이트 크기로 분리한다.
   -c 사이즈 : 파일의 라인크기를 주어진 크기로 최대한 맞도록 분리한다.
   -l 라인 : 파일을 주어진 라인 수 단위로 분리한다.
   -넘버 : -l옵션을 사용한 것과 동일한 역할을 한다.
(4) 사용예
   1) [posein@www posein]$ split -l 30 /etc/passwd
        => /etc/passwd 파일을 한 파일에 30라인씩 잘라서 파일을 생성한다. 별도로 지정한 이름이
          없으므로 xaa, xab, xac ...등으로 생성된다.
   2) [posein@www posein]$ split -40 /etc/passwd pa
       => /etc/passwd파일을 한 파일에 40라인씩 잘라서 파일을 생성한다. pa라는 이름을 부여하였
         으므로 생성되는 파일은 paaa, paab..등으로 생성된다.

12. tac
(1) 설명 : 파일의 내용을 맨 아래줄부터 역순으로 출력하는 명령이다. 이름에서 보듯 cat명령의
           반대되는 개념이다.
(2) 사용법
   tac [option] 파일
(3) option
   -b : 분리자를 파일의 처음에 덧붙인다.(newline) 보통 공백라인이 삽입된다.
(4) 사용예
   [posein@www posein]$ tac os.txt
   windows
   linux
    => 기존의 파일의 내용을 역순으로 출력한다.

13. tr
(1) 설명 : 파일의 임의의 문자(열)를 원하는 문자로 바꾸는 명령이다. 프로그램 소스의 변수명이나
           데이터 타입을 바꿀 경우 유용하게 쓰인다. 이 명령은 꼭 < 를 이용하여 입력을 지정해야
           된다.
(2) 사용법
   tr [option] string1 string2 < 파일명
(3) option
   -d : 해당문자를 삭제한다.
   -s : 문자가 중복된 경우 하나만 남기고 모두 삭제한다.
(4) 사용예
   (가정) tr.txt 과 다음과 같다면
         I love linux
         I love windows
         I loove unix
   1) [posein@www posein]$ tr o i < tr.txt
      I live linux
      I live windiws
      I liive unix
       => tr.txt의 'o'를 'i'로 바꿔서 출력한다.
   2) [posein@www posein]$ tr -s 'o' < tr.txt
      I love linux
      I love windows
      I love unix
       => 'o'가 중복된 경우 'o'를 하나만 출력한다.
   3) [posein@www posein]$ tr '[a-z]' '[A-Z]'< tr.txt
      I LOVE LINUX
      I LOVE WINDOWS
      I LOOVE UNIX
       => 소문자를 전부 대문자로 바꿔 출력한다.
   4) [posein@www posein]$ tr '[a-z]' '[A-Z]' < tr.txt > tr2.txt
      [posein@www posein]$ cat tr2.txt
      I LOVE LINUX
      I LOVE WINDOWS
      I LOOVE UNIX
        => tr.txt를 입력받아 대문자로 전환한뒤에 tr2.txt파일에 저장한다.
   5) [posein@www posein]$ tr -d 'o' < tr.txt
      I lve linux
      I lve windws
      I lve unix

(참고) tr명령을 이용하여 대소문자전환하는법
  1. tr abcdefghijklmnopqstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
  2. tr '[a-z]' '[A-Z]'
  3. tr '[:lower:]' '[:upper:]'

14. join
(1) 설명: paste 명령과 비슷한 명령으로 두 개의 정렬된 파일을 하나로 수평 병합해주는 명령이다.
          이 명령은 정확히 두 파일에 대해서 동작하지만 두 파일사이에 공통으로 표시된 필드(보통
          숫자 라벨)가 있는 줄에 대해서만 합쳐서 결과를 표준출력으로 출력해준다. 정확히 동작
          하려면 두 파일 모두 표시 필드가 있어야 한다.
(2) 사용법
   join [options] file1 file2
(3) 사용예
   [posein@www posein]$ cat a.txt
   1 designer
   2 programmer
   3 engineer
   [posein@www posein]$ cat b.txt
   1 Miss Kim
   2 Mr.Lee
   3 Mr.Jung
   [posein@www posein]$ join a.txt b.txt
   1 designer Miss Kim
   2 programmer Mr.Lee
   3 engineer Mr.Jung

15. diff
(1) 설명: 두 개의 파일을 비교한다. 이 명령은 두 개의 파일이 어떻게 다른가 표시해준다. 그래서
          어떻게 수정되어야 두 파일이 같아지는 지를 보여준다. 결과는 기준이 되는 파일이 두번째
          파일이다. 그래서 모든 정보는 '첫번째 파일이 어떻게 수정되어야 두번째 파일과 같아지느
          냐'하는 식이다.
(2) 사용법
   diff [option] 파일1 파일2
(3) option
   -i : 대소문자를 구분하지 않는다.
   -b : 하나 이상의 공백문자는 모두 같은 것으로 취급해서 비교한다.
(4) 결과
    a : append의 약자로 파일2에서 파일1으로 첨가되어야 할 것이 이 값으로 표시된다.
    d : delete의 약자로 파일1에서 제거되어야 하는 내용은 이 값으로 표시된다.
    c : change의 약자로 파일의 내용이 바뀌어야 하는 내용이 이 값으로 표시된다.
(5) 사용예
   1) [posein@www posein]$ cat aa.txt
      I love linux.
      I love windows.
      [posein@www posein]$ cat bb.txt
      I love linux.
      I love windows.
      I love unix.
      [posein@www posein]$ diff aa.txt bb.txt
      2a3
      > I love unix.
        => (설명) 파일2에서 3번째줄을 파일1에 추가하면 같아진다.
   2) [posein@www posein]$ diff bb.txt aa.txt
      3d2
      < I love unix.
       => 파일1에서 3번째줄을 제거해야 파일2와 같아진다.
   3) [posein@www posein]$ cat aa.txt
      I love linux.
      I love windows.
      [posein@www posein]$ cat bb.txt
      I love linux.
      I love window.
      [posein@www posein]$ diff aa.txt bb.txt
      2c2
      < I love windows.
      ---
      > I love window.
        => 파일1의 내용이 바뀌어야 파일2와 같아진다.

16. uniq
(1) 설명: 중복되어 있는 라인을 제거하고 한라인으로 출력한다. 보통 sort명령과 함께 쓰이면서
          중복되어 있는 것을 제거하고 출력할 때 많이 쓰인다. (참고로 sort명령에 -u 옵션과 같
          다.)
(2) 사용법
   uniq [options] 파일1 [파일2]
    => 파일1의 중복되어 있는 줄을 제거한다. 파일2를 지정하면 제거한 내용을 화면에 출력하지
     않고 '파일2'라는 이름으로 저장한다.
(3) option
   -u : 실제적으로 중복되는 줄을 제거하고 출력한다.
   -c : 줄의 수를 계산하여 보여준다.
   -d : 라인이 반복되었을 때 그 반복된 라인 한 줄을 출력해준다.
(4) 사용예
   1) [posein@www posein]$ cat list.txt
      linux
      windows
      linux
      linux
      [posein@www posein]$ uniq list.txt
      linux
      windows
      linux
       => 중복되는 줄인 linux라는 것을 한줄 제거하고 출력한다.
   2) [posein@www posein]$ uniq list.txt list2.txt
      [posein@www posein]$ cat list2.txt
      linux
      windows
      linux
       => list.txt의 중복되는 줄을 제거하고 그 값을 list2.txt라는 파일에 저장한다.
   3) [posein@www posein]$ uniq -u list.txt
      linux
      windows
       => linux라는 줄이 3줄이었는데 실제적으로 제거하고 1줄만 출력한다.
   4) [posein@www posein]$ uniq -c list.txt
            1 linux
            1 windows
            2 linux
   5) [posein@www posein]$ uniq -d list.txt
      linux
       => 'linux'라는 문자열만 반복되었으므로 linux라는 값만 나온다.
   6) [posein@www posein]$ cut -d: -f7 /etc/passwd | sort | uniq

      /bin/bash
      /bin/false
      /bin/sync
      /dev/null
      /sbin/halt
      /sbin/nologin
      /sbin/shutdown

17. aspell
(1) 설명: 텍스트파일의 철자(Spelling)을 검사해주는 명령어이다.
(2) 사용법
   aspell option 텍스트파일
(3) option
   -c : 텍스트파일의 철자를 검사하는 옵션이다. -c 대신에 check 라고 써도 된다.
   -l : 잘못된 철자를 표준입력으로 부터 등록한다.
(4) 사용예
   [가정] a.txt 라는 파일의 내용이 다음과 같다고 하자.
     [posein@www posein]$ cat a.txt
     I lovi linux
     I love windows

   1) [posein@www posein]$ aspell -c a.txt
      I lovi linux
      I love windows

      1)                                                6) loci
      2) love                                           7) Levi
      3) lvi                                            8) Love
      4) lo vi                                          9) Loki
      5) lo-vi                                          0) Loni
      i) Ignore                                         I) Ignore all
      r) Replace                                        R) Replace all
      a) Add                                            x) Exit
       => 원하는 키를 선택하면 된다. 만약 love라는 단어로 변경하려면 [2]키를 누른다.
   2) [posein@www posein]$ aspell -l < new.txt
      CarWash
      FirstOne
       => new.txt로부터 단어를 읽어들여 잘못된 철자로 등록시킨다.

18. look
(1) 설명: 특정한 문자열을 지정하면 해당 문자열로 시작하는 단어를 /usr/share/dict/words에서
          찾아준다.
(2) 사용법
   look 문자열
(3) 사용예
   [posein@www posein]$ look copy
   copy
   copying
   copyright
   copyrightable
   copyrighted
   copyrights
   copywriter

Trackback
Reply
우주곰:지구곰이 아닙니다.
지구곰이 아닙니다.
Categories (190)
Information (5)
About uzoogom (5)
Blah.. blah.. (5)
My Advanced Linux (73)
RedHat Knowledge (10)
Advanced Linux (47)
Virtualization (7)
HA clustering (2)
Bash shell scripts (6)
Learning Linux (96)
Fundamental (41)
AdminCourse (32)
Security (23)
OperatingSystem (5)
AIX (2)
HPUX (3)
Databases (4)
Oralce (3)
Mysql (1)
OpenSource (1)
Tips! (1)
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30