본문 바로가기

Foundation/- Linux

파이프&필터(grep)&cut&리다이렉션

파이프 (Pipe)
- 프로세스간에 실행되는 입력과 출력을 다음 프로세스에게 전달하는 방식
 
#cat /etc/services | more   // /etc/services를 more 형태로 확인하기

     -more은 결과를 한페이지씩 출력한다. space가 앞장, q를 누르면 나갈 수있다.

 
#sort /etc/passwd | nl    // 정렬한 결과에 행번호를 추가하여 확인


#ls -l | grep "^d" | wc -l   // 현재 위치한 경로에서 디렉토리 개수 확인 하기

        --> grep 필터와 ^메타문자는 밑에서 확인 가능하며 , wc는 지금 간략하게

             설명해보겠다.

 

wc(word count)란 ??  

필터 명령어 중 하나로 파일(또는 입력문장)내 라인수, 단어수, 글자수, 바이트수를

출력해주는 명령어이다. 옵션은 다음과 같다.

 

grep (Globally find Regular-Expression and Print)
- 기능 : 패턴(정규식)과 일치하는 문자열 검색

 

#grep [옵션] [패턴] [파일]

옵션 -i 대소문자를 구별하지 않는다.
      -n 행번호와 함께 출력
      -v 패턴과 일치하지 않는 라인만 출력 (제외용도)
      -E 확장된 정규식을 이용하여 검색

[메타문자]                                       [의미]
^                                                 - 행의 시작  
$                                                 - 행의 끝  
.                                                  - 하나의 문자와 대응 
*                                                  - 선행문자의 0개 혹은 임의개수와 대응
[]                                                  - [] 사이의 문자 하나와 대응  
[^ ]                                              - [] 사이의 문자를 제외한 문자와 대응 
\<                                               - 단어의 시작   
\>                                               - 단어의 끝   
A{N\}                                           - 문자 A를 N번 반복 
A\{N,\}                                        - 문자 A가 적어도 N번 반복 
A\{N,n\}                                       - 문자 A가  N번 이상 n회 이하 반복  


sort - 파일내의 내용을 알파벳 순서대로 정렬
#sort [옵션] [파일]
-n 숫자를 기준으로 정렬
-r 역순으로 정렬
-u 중복행 제거 (#uniq)
-o 출력결과를 파일로 저장

 

cut - 필드를 잘라내기
형식 #cut [옵션] [파일]
옵션 -c 잘라낼 글자 위치 지정
       -f 잘라낼 필드를 지정
       -d 필드와 필드를 구분하는 구분자 지정 (기본값 공백)

ex)

 

위와같이 명령어를 입력했을 경우 :로 구분되어있는 것을 볼 수 있고 첫번째의 계정명만 보고싶다면 다음과 같이 cut을 이용 하면 된다.


리다이렉션 (Redirection)
 - 표준입력과 표준출력의 방향을 재지정
 
ex)  #ls -l > list.txt

-표준출력이 list.txt 파일로 들어간다.

#date >> list.txt 

- list.txt 파일에 date가 추가된다.

#cal > list.txt

- 여기서 다음과같이 명령어를 입력하면 기존에 있던거에

  덮어씌여진다.(기존 것이 사라짐)

#sort < list.txt

- list.txt 파일을 정렬해서 화면에 출력한다.

#sort < list.txt > out.txt

- 정렬해서 out.txt 파일에 쓴다.


'Foundation > - Linux' 카테고리의 다른 글

프로세스(Process)??  (0) 2017.05.12
DHCP ??!  (0) 2017.05.11
Bonding??  (0) 2017.05.10
cron & at 이란???  (0) 2017.05.07
RPM & YUM  (0) 2017.05.03