[RHEL6] 파일 조작 명령어 6탄(ul, unexpand, uniq, wc)
본문 바로가기
IT 이야기/Linux 명령어

[RHEL6] 파일 조작 명령어 6탄(ul, unexpand, uniq, wc)

by 찬찬이 아빠 2020. 4. 2.
반응형
  25. ul(밑줄 긋기)

 1) 경로 : /usr/bin/ul

 2) 요약 : 밑줄 속성이 있는 문자열에 밑줄을 표시

 3) 사용 방법 : ul [옵션] 파일명

 4) 옵션

 -i : 밑줄 속성이 있는 문자열의 경우 다음 행에 밑줄(_)을 출력. 터미널이 밑줄 문자를 표시하지 못할 때 유용

 -t terminal : 지정한 터미널(terminal) 환경을 사용

 

 5) 추가 설명

밑줄 속성의 문자열에 밑줄 표시를 하면서 화면에 출력합니다. http, ftp 등의 주소를 다른 문자열과 구분할 때 유용합니다. 자세한 설정은 /etc/termcap 파일을 참조합니다. 터미널의 종류에 따라 밑줄 처리를 못하는 경우 표준 출력합니다.

 

 

 

  26. unexpand(공백을 탭으로 변환)

 1) 경로 : /usr/bin/unexpand

 2) 요약 : 공백을 탭으로 변환

 3) 사용 방법 : unexpand [옵션]

 4) 옵션

 -a, --all : 모든 공백을 탭으로 변환

 -t, --tabs=N : 탭 크기(N)를 지정. 기본값은 8

 -t, --tabs=LIST : 콤마(,)로 구분하여 탭 위치의 목록(LIST)를 지정

 -h, --help : 사용법 출력

 -v, --version : 버전 정보 출력

 

 5) 추가 설명

unexpand 명령어는 공백 문자를 탭으로 변환하는데 탭을 공백 문자로 변환하는 expand와 완전히 반대의 기능입니다. 탭은 8번째 공백의 위치로 커서를 옮기는데, "-t N" 옵션으로 탭의 크기를 조절할 수 있습니다.

 

아래는 spacefile 파일의 "tab10"을 탭 크기 10으로 변환하여 출력합니다.

# cat spacefile
tab10

# unexpand -a -t 10 spacefile
          tab10

 

 

 

  27. uniq(중복 행 필터링)

 1) 경로 : /usr/bin/uniq

 2) 요약 : 중복되는 행을 필터링

 3) 사용 방법 : uniq [옵션]

 4) 옵션

 -c, --count : 행이 얼마나 중복되는지 계산하여 출력

 -d, --repeated : 중복되는 행의 내용을 한 번만 출력

 -D, --all-repeated : 중복되는 모든 행의 내용을 출력

 -N, -f N, --skip-fields=N : 필터링을 무시할 행(N)을 지정. 시작 행부터 N번째 행까지는 감시하지 않음

 -i, --ignore-case : 중복되는 행을 하나의 행으로 간주하고 출력

 +N, -s N, --skip-chars=N : N 번째 문자부터 검사를 시작

 -u, --unique : 중복되지 않는 행만 출력

 -w, --check-chars=N : N 번째 문자까지 검사

 --help : 사용법 출력

 --version : 버전 정보 출력

 

 5) 추가 설명

uniq는 중복되는 문자열을 찾아 필터링하는 명령어입니다. 중복되는 문자열 중에 중복되는 행만 출력할 수 있고, 중복되지 않는 행만 출력할 수도 있습니다. 또한 중복되는 행을 계산하여 출력할 수도 있습니다. 이를 위해 특정 행만을 제외할 수도 있고, 하나의 행에서 지정한 필드까지만 포함하거나 제외시켜 검사할 수 있습니다.

 

아래 명령어 조합은 사용자별로 서버에 로그인한 사용자 정보를 분석하는데 매우 유용합니다.

# last | sort | uniq -w 1 -c
	1
    20 reboot	system	boot	2.6.32-21-generi Tul Jul 1 02:03 - 02:55 (00:51)
    49 user		pts/0			:0.0			 Fri Jul 2 05:07 - 21:13 (16:06)
    1 wtmp begins Thu Jul 1 02:03:58 2010

 

last 명령어로 사용자별로 접속 정보를 출력하고, uniq 명령어로 중복된 내용은 필터링합니다. uniq 명령의 -w 1 옵션은 첫 번째 필드를 기준으로 중복을 제거하고, -c 옵션은 중복하는 행은 카운트하여 숫자의 총합으로 출력합니다.

 

 

 

  28. wc(단어 수 계산)

 1) 경로 : /usr/bin/wc

 2) 요약 : 문서의 행과 단어 그리고 문자의 개수를 카운트하고 출력

 3) 사용 방법 : wc [옵션] [파일]

 4) 옵션

 -c, --bytes : 바이트 수만큼 출력

 -m, --chars : 문자의 수만큼 출력

 -l(엘), --lines : 행 수만을 출력

 -L : 파일 중 가장 긴 행의 길이를 출력

 -w, --words : 단어 수만큼 출력

 --help : 사용법 출력

 --version : 버전 정보 출력

 

 5) 추가 설명

wc 명령어는 파일의 행, 단어, 문자의 개수를 하나의 행에 출력합니다. 아래 예제는 httpd.conf 파일의 행과 단어 그리고 문자의 총 개수를 출력합니다. 이 파일은 1,467개의 행과 7,304의 단어와 51,633개의 문자를 가지고 있습니다.

# wc /etc/httpd/conf/httpd.conf
1467 7304 51633 /etc/httpd/conf/httpd.conf

 

-L 옵션은 파일 중 가장 긴 행의 길이를 출력합니다.

# wc -L /etc/httpd/conf/httpd.conf
105 /etc/httpd/conf/httpd.conf

 

아래는 apache 사용자 권한의 프로세스의 수를 출력합니다. 결과값 18은 현재 apache 사용자의 프로세스 개수가 18개라는 뜻입니다.

# ps -u apache | wc -l
18

 

아래와 같이 who 명령어와 조합으로 현재 로그인한 사용자 수를 출력합니다. 이 호스트에는 네 명의 사용자가 로그인하고 있음을 알 수 있습니다.

# who | wc -l
4
반응형

댓글