배우는 내용 : [ "wc" : 바이트 수, 단어 수, 행 수 세기 "sort" : 행 단위로 정렬  "ps" 프로세스 아이디(PID)순으로 출력]

 

wc 명령어

출력 내용 예시

$ wc result.txt
# (행 수) (단어 수) (바이트 수) (파일 이름)
    23     206      1136   result.txt

 

- 옵션 사용

$ wc -l result.txt
23   result.txt     # 행 수 표시

$ wc -w result.txt
206  result.txt    # 단어 수 표시

$ wc -c result.txt
1136   result.txt  # 바이트 수 표시

 

- 조합 

$ ls / | wc -l
23               # 루트 디렉터리에 있는 파일과 디렉터리 수 출력 

$ ls / | wc -l -
23 -             # - 을 지정하여 표준입력을 읽음

 

sort 명령어

출력 내용 예시

- 옵션이 없으면 알파벳순으로 정렬 : 이때 ASCII 코드를 기준으로 정렬

-  a : 97   A:65  로 인식

예시 :  sort-test.txt  ->  Busan,  Incheon, Seoul, 10, 5, 1, apple

$ sort sort-test.txt
1
10
5
Busan
Incheon
Seoul
apple

$ sort -r sort-test.txt # -r 역순으로 정렬
apple
Seoul
Incheon
Busan
5
10
1

$ sort -n sort-test.txt # -n 문자를 숫자로 인식하여 정렬
Busan
Incheon
Seoul
apple
1
5
10

$ sort -nr sort-test.txt 
10
5
1
apple
Seoul
Incheon
Busan

 

 

- 파이프를 이용하여 응용 가능

ps  : 프로세스 ID PID 순으로 출력

$ ps x
PID TTY      STAT   TIME COMMAND
   1201 ?        Ss     0:00 /lib/systemd/systemd --user
   1202 ?        S      0:00 (sd-pam)
   4961 ?        Ssl    6:18 PM2 v5.3.1: God Daemon (/home/ubuntu/.pm2)
....

$ ps x | sort -k 5  # 5번째에 있는 COMMAND 필드를 기준으로 정렬
   1202 ?        S      0:00 (sd-pam)
  50248 pts/0    Ss     0:00 -bash
   1201 ?        Ss     0:00 /lib/systemd/systemd --user
    PID TTY      STAT   TIME COMMAND
   4961 ?        Ssl    6:18 PM2 v5.3.1: God Daemon (/home/ubuntu/.pm2)
....

 

ls 명령어로 나온 결과를 파일 크기가 큰 순으로  최상위 3개만 출력 

$ ls -l /bin/ | sort -rn -k 5 | head -n 3
-rwxr-xr-x 1 root root    91859064 Feb 13 21:33 node
-rwxr-xr-x 1 root root    16138392 May 29  2023 snap
-rwxr-xr-x 1 root root     5904904 Nov 20 15:14 python3.10

 

+ Recent posts