Linux

쉘 필터 - 2장

빼이 2020. 10. 20. 14:00
반응형

★ 파이프 라인에서 cut 명령 사용

잘라 내기 명령은 텍스트 처리에 사용됩니다. 이 명령을 사용하여 파일에서 지정된 열의 내용을 추출 할 수 있습니다.


예 1

시스템에서 로그인 쉘이 "/ bin / bash"인 사용자의 사용자 이름 및 해당 홈 디렉토리에 대한 정보를보십시오.

[root] $ grep "bin / bash"/ etc / passwd | cut -d : -f1,6 

root : / root 

backhyung : /home/backhyung


Linux 시스템에 대해 알고 있다면 /etc/passwd 파일이 사용자 계정 정보를 저장하는 데 사용된다는 것을 알게 될 것입니다.이 파일의 각 줄에는 계정 정보가 기록됩니다. 각 필드는 콜론으로 구분됩니다. 한 필드는 계정의 계정 이름이고 여섯 번째 필드는 계정의 홈 디렉토리 경로입니다.


예 2

현재 머신의 CPU 유형을 봅니다.

  • [root] $ cat / proc / cpuinfo | grep name | cut -d : -f2 | uniq 
  • Intel (R) Core (TM) i5-2520M CPU @ 2.50GHz

위의 예에서 명령 cat /proc/cpuinfo | grep name을 실행하여 얻은 내용은 다음과 같습니다.

[root] $ cat / proc / cpuinfo | grep 이름 

모델 이름 : Intel (R) Core (TM) i5-2520M CPU @ 2.50GHz 

모델 이름 : Intel (R) Core (TM) i5-2520M CPU @ 2.50GHz 

모델 이름 : Intel (R) Core (TM) i5-2520M CPU @ 2.50GHz 

모델 이름 : Intel (R) Core (TM) i5-2520M CPU 0 2.50GHz


그런 다음 cut 명령을 사용하여 콜론을 구분 기호로 사용하여 위의 출력 내용을 나누고 내용을 두 개의 열로 나누고 두 번째 열의 내용을 표시 한 다음 마지막으로 uniq 명령을 사용하여 중복 줄을 제거합니다.


예제 3

현재 디렉터리의 하위 디렉터리 수를 확인합니다.

  • [root] $ ls -l | cut -c 1 | grep d | wc -l 
  • 5

위의 파이프 라인 명령은 주로 다음 작업을 수행합니다.

  • 명령의 ls -l출력에서 각 행의 첫 번째 문자는 파일 유형을 나타내며 첫 번째 문자가 d이면 파일 유형이 디렉토리임을 의미합니다.
  • 명령 cut -c 1은 각 줄의 첫 번째 문자를 가로채는 것입니다.
  • grep d파일 유형을 가져 오는 명령 은 디렉토리 행입니다.
  • 이 명령은 wc -lgrep 명령의 출력 결과 행 수, 즉 디렉토리 수를 가져 오는 데 사용됩니다.


★ 파이프 라인에서 grep 명령 사용

grep 명령은 파이프 라인에서 일반적으로 사용되는 명령입니다.


예 1

시스템 로그 파일에서 오류 정보를 확인하십시오.

  • [root] $ grep -i "error :"/ var / log / messages | less

예 2

시스템에서 HTTP 서비스의 프로세스 정보를 봅니다.

[root] $ ps auxwww | grep httpd 

apache 18968 0.0 0.0 26472 10404? S Dec15 0:01 / usr / sbin / httpd 

apache 18969 0.0 0.0 25528 8308? S Dec15 0:01 / usr / sbin / httpd 

apache 18970 0.0 0.0 26596 10524? S Dec15 0:01 / usr / sbin / httpd


예제 3

프로그램 목록에서 키워드 zip이 포함 된 모든 명령을 찾으십시오.

[root] $ ls / bin / usr / bin | sort | uniq | grep zip 

bunzip2 

bzip2 

bzip2recover 

gunzip 

gzip


예 4

시스템에 설치된 커널 버전 및 관련 커널 패키지를 확인하십시오.

[root] $ rpm -qa | grep kernel 

kernel-2.6.18-92.e15 

kernel-debuginfo-2.6.18-92.e15 

kernel-debuginfo-common-2.6.18-92.e15 

kernel-devel -2.6.18-92.e15


예 5

/ etc 디렉토리에서 IP 주소를 포함하는 모든 파일을 찾습니다.

  • [root] $ find / etc -type f -exec grep '[0-9] [0-9] * [.] [0-9] [0-9] * [.] [0-9 ] [0-9] * [.] [0-9] [0-9] * '{} \;
반응형