Linux 에서 sort, uniq, cut, wc 명령 상세 설명
출처: hellodev
본 고 는 주로 Linux 에서 sort, uniq, cut, wc 라 는 네 가지 명령 의 사용 방법 에 대해 상세 하 게 설명 하 였 으 며, 당신 에 게 도움 이 되 기 를 바 랍 니 다.
sort
sort 명령 은 File 매개 변수 가 지정 한 파일 의 줄 을 정렬 하고 결 과 를 표준 출력 에 기록 합 니 다.File 매개 변수 가 여러 파일 을 지정 하면 sort 명령 은 이 파일 들 을 연결 하고 파일 로 정렬 합 니 다.
sort 문법
[root@www ~]# sort [-fbMnrtuk] [file or stdin]
选项与参数:
-f :忽略大小写的差异,例如 A 与 a 视为编码相同;
-b :忽略最前面的空格符部分;
-M :以月份的名字来排序,例如 JAN, DEC 等等的排序方法;
-n :使用『纯数字』进行排序(默认是以文字型态来排序的);
-r :反向排序;
-u :就是 uniq ,相同的数据中,仅出现一行代表;
-t :分隔符,默认是用 [tab] 键来分隔;
-k :以那个区间 (field) 来进行排序的意思
/etc/passwd 계 정 정렬
[root@www ~]# cat /etc/passwd | sort
adm:x:3:4:adm:/var/adm:/sbin/nologin
apache:x:48:48:Apache:/var/www:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
sort 는 기본 값 으로 첫 번 째 데이터 로 정렬 되 며, 기본 값 은 문자열 로 정렬 되 기 때문에 알파벳 a 부터 정렬 됩 니 다.
/etc/passwd 내용 은: 로 구 분 됩 니 다. 세 번 째 칸 으로 정렬 하고 싶 습 니 다. 어떻게 해 야 합 니까?
[root@www ~]# cat /etc/passwd | sort -t ':' -k 3
root:x:0:0:root:/root:/bin/bash
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
기본적으로 문자열 로 정렬 합 니 다. 숫자 로 정렬 하려 면:
cat /etc/passwd | sort -t ':' -k 3n
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
기본 값 은 오름차 순 정렬 입 니 다. 거꾸로 정렬 하려 면 다음 과 같 습 니 다.
cat /etc/passwd | sort -t ':' -k 3nr
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
ntp:x:106:113::/home/ntp:/bin/false
messagebus:x:105:109::/var/run/dbus:/bin/false
sshd:x:104:65534::/var/run/sshd:/usr/sbin/nologin
/etc/passwd 에 대해 서 는 여섯 번 째 도 메 인의 두 번 째 문자 부터 네 번 째 문자 까지 정방 향 으로 정렬 한 다음 첫 번 째 도 메 인 을 바탕 으로 역방향 으로 정렬 합 니 다.
cat /etc/passwd | sort -t':' -k 6.2,6.4 -k 1r
sync:x:4:65534:sync:/bin:/bin/sync
proxy:x:13:13:proxy:/bin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
/etc/passwd 에 셸 이 몇 개 있 는 지 보기:/etc/passwd 의 일곱 번 째 도 메 인 을 정렬 한 다음 다시 가 져 오기:
cat /etc/passwd | sort -t':' -k 7 -u
root:x:0:0:root:/root:/bin/bash
syslog:x:101:102::/home/syslog:/bin/false
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
sshd:x:104:65534::/var/run/sshd:/usr/sbin/nologin
uniq
유 니 크 명령 은 정렬 된 파일 의 중복 줄 을 제거 할 수 있 기 때문에 유 니 크 는 sort 와 자주 사용 합 니 다.즉, 유 니 크 가 역할 을 하기 위해 서 는 모든 중복 행 이 인접 해 야 한 다 는 것 이다.
문법
[root@www ~]# uniq [-icu]
选项与参数:
-i :忽略大小写字符的不同;
-c :进行计数
-u :只显示唯一的行
testfile 의 내용 은 다음 과 같다.
cat testfile
hello
world
friend
hello
world
hello
정렬 되 지 않 은 파일 을 직접 삭제 하면 줄 이 삭제 되 지 않 습 니 다.
#uniq testfile
hello
world
friend
hello
world
hello
정렬 파일
#cat words | sort |uniq
friend
hello
world
정렬 후 중복 줄 을 삭제 하고 줄 의 첫 번 째 위치 에서 중복 되 는 횟수 를 출력 합 니 다.
#sort testfile | uniq -c
1 friend
3 hello
2 world
중 복 된 줄 만 표시 하고 줄 의 중 복 된 횟수 만 표시 합 니 다.
#sort testfile | uniq -dc
3 hello
2 world
중복 되 지 않 는 줄 만 표시
sort testfile | uniq -u
friend
cut
cut 명령 은 텍스트 파일 이나 텍스트 흐름 에서 텍스트 열 을 추출 할 수 있 습 니 다.
cut 문법
[root@www ~]# cut -d'分隔字符' -f fields <==用于有特定分隔字符
[root@www ~]# cut -c 字符区间 <==用于排列整齐的信息
选项与参数:
-d :后面接分隔字符。与 -f 一起使用;
-f :依据 -d 的分隔字符将一段信息分割成为数段,用 -f 取出第几段的意思;
-c :以字符 (characters) 的单位取出固定字符区间;
PATH 변 수 는 다음 과 같 습 니 다.
[root@www ~]# echo $PATH
/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin:/usr/games
# 1 | 2 | 3 | 4 | 5 | 6 | 7
PATH 변 수 를 꺼 내 고 다섯 번 째 경 로 를 찾 겠 습 니 다.
#echo $PATH | cut -d ':' -f 5
/usr/local/bin
PATH 변 수 를 꺼 내 세 번 째 와 다섯 번 째 경 로 를 찾 겠 습 니 다.
#echo $PATH | cut -d ':' -f 3,5
/sbin:/usr/local/bin
PATH 변 수 를 꺼 내 세 번 째 에서 마지막 경 로 를 찾 겠 습 니 다.
echo $PATH | cut -d ':' -f 3-
/sbin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin:/usr/games
PATH 변 수 를 꺼 내 서 첫 번 째 에서 세 번 째 경 로 를 찾 겠 습 니 다.
#echo $PATH | cut -d ':' -f 1-3
/bin:/usr/bin:/sbin:
PATH 변 수 를 꺼 내 면 첫 번 째 부터 세 번 째, 그리고 다섯 번 째 경 로 를 찾 아야 합 니 다.
echo $PATH | cut -d ':' -f 1-3,5
/bin:/usr/bin:/sbin:/usr/local/bin
유 틸 리 티:/etc/passwd 사용자 와 셸 만 표시 합 니 다.
#cat /etc/passwd | cut -d ':' -f 1,7
root:/bin/bash
daemon:/bin/sh
bin:/bin/sh
wc
통계 파일 안에 몇 개의 단어, 몇 줄, 몇 개의 문자 가 있 는 지.
문법
[root@www ~]# wc [-lwm]
选项与参数:
-l :仅列出行;
-w :仅列出多少字(英文单字);
-m :多少字符;
기본적으로 wc 통계/etc/passwd 사용
#wc /etc/passwd
40 45 1719 /etc/passwd
40 은 줄 수 이 고 45 는 단어 수 이 며 1719 는 바이트 수 이다.
wc 의 명령 은 비교적 간단하게 사용 되 며, 매개 매개 변 수 는 다음 과 같이 사용 합 니 다.
#wc -l /etc/passwd #统计行数,在对记录数时,很常用
40 /etc/passwd #表示系统有40个账户
#wc -w /etc/passwd #统计单词出现次数
45 /etc/passwd
#wc -m /etc/passwd #统计文件的字节数
1719
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Shell alias 명령에 별칭을 설정하는 방법명령에 별명을 설정하면 명령의'작은 이름'으로 삼을 수 있지만, 이렇게 하는 것이 무슨 의미가 있습니까? 이때 별명이 작용할 수 있다.vim 명령의 별명을vi라고 정의하면 이후에 실행된vi 명령은 실제로vim 명령을...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.