linux sort,uniq,cut,wc,tr 명령 설명
sort 명령은 File 매개 변수가 지정한 파일의 줄을 정렬하고 결과를 표준 출력에 기록합니다.File 매개 변수가 여러 개의 파일을 지정하면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/shbin:x:2:2:bin:/bin:/bin/sh
기본값은 오름차순 정렬입니다. 거꾸로 정렬하려면 다음과 같습니다.
cat /etc/passwd | sort -t ':' -k 3nr
nobody:x:65534:65534:nobody:/nonexistent:/bin/shntp:x:106:113::/home/ntp:/bin/falsemessagebus:x:105:109::/var/run/dbus:/bin/falsesshd: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/syncproxy:x:13:13:proxy:/bin:/bin/shbin:x:2:2:bin:/bin:/bin/shsys: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/falsedaemon:x:1:1:daemon:/usr/sbin:/bin/shsync:x:4:65534:sync:/bin:/bin/syncsshd:x:104:65534::/var/run/sshd:/usr/sbin/nologin
uniq
uniq 명령은 정렬된 파일의 중복 줄을 제거할 수 있기 때문에 uniq는sort와 자주 사용됩니다.즉, uniq가 작용하기 위해서는 모든 중복행이 서로 인접해야 한다.
문법
[root@www ~]# uniq [-icu]
:
-i : ;
-c :
-u :
테스트 파일의 내용은 다음과 같습니다
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/shbin:/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
TR
tr는translate의 약자입니다. 이 단어를 통해 아마도 그것이 무엇을 하는지 알 수 있을 것입니다!맞아요. 다른 문자열을 한 문자열로 바꿀 수도 있고, 일부 문자를 완전히 제거할 수도 있어요.이것을 사용해서 중복 문자를 제거할 수도 있습니다.tr는 표준 입력에서 바꾸거나 삭제하는 작업을 통해 문자를 변환하는 데 사용됩니다.tr는 주로 파일에서 문자를 제어하거나 문자 변환을 하는 데 사용됩니다.tr를 사용할 때 두 개의 문자열을 변환합니다: 문자열 1은 검색에 사용되고, 문자열 2는 각종 변환을 처리하는 데 사용됩니다.문자열 1을 문자열 2로 바꿉니다.문자열 1은 정규 표현식을 사용할 수 있습니다.만약 문자열 2가 비어 있거나 열거되지 않으면 삭제 작업을 하는 것이다. 이것은 이해하기 쉽다. 문자열 1을 빈 문자열로 바꾸는 것은 당연히 문자열 1을 삭제하는 것과 같다!보충적으로tr의 기능은sed로 완성할 수 있습니다.tr를sed의 간략한 변체로 볼 수 있습니다.가장 일반적인 옵션이 있는tr 명령 형식은tr -c -d -s ["string 1 to translate from"] ["string 2 to translate to"] 여기: - c 는 문자열 1의 문자 세트를 ASCII로 대체합니다. -d 문자열 1의 모든 입력 문자를 삭제합니다. -s 모든 중복 출현 문자 서열을 삭제하고 첫 번째만 유지한다.문자열이 반복되어 하나의 문자열로 압축됩니다.2. 문자열 1 또는 문자열 2의 내용을 지정할 때 단일 문자나 문자열 범위 또는 목록만 사용할 수 있습니다.[a-z] a-z 내의 문자로 구성된 문자열.[A-Z] A-Z 내의 문자로 구성된 문자열입니다.[0-9] 숫자 문자열.\octal은 유효한 ASCII 문자에 해당하는 3자리 8진수입니다.[O*n]은 문자 O가 지정된 횟수 n만큼 반복됨을 나타냅니다.따라서 [O*2]는 OO의 문자열과 일치합니다.tr에서 특정 제어 문자의 다른 표현 방식 속기호 의미 8진법\a Ctrl-G 벨소리\007\b Ctrl-H 체크아웃\010\Ctrl-L 줄 바꿈\014 Ctrl-J 새 줄\012\r Ctrl-M 리턴\015\t Ctrl-I tab 키\011\v Ctrl-X\0303, 적용 예(1) 제거 oops.txt의 중복된 소문자tr-s "[a-z]"
참고 자료http://vbird.dic.ksu.edu.tw/linux_basic/0320bash_6.php#pipe_2
http://www.cnblogs.com/stephen-liu74/archive/2011/11/10/2240461.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
용감한 바로 가기 및 우분투 응용 프로그램안녕하세요 여러분, 이 기사에서는 모든 사이트에서 pwa를 생성하고 실행기 응용 프로그램으로 추가하는 방법을 설명하고 싶습니다. 일부 웹사이트는 PWA로 설치를 허용하지 않지만 유사한 애플리케이션을 원합니다. 1. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.