-
리눅스 기초 명령어5 (uniq, shuf, cut, awk)리눅스 2021. 1. 16. 17:47
nl b
->
1 one
2 two
3 three
4 three
5 three
6 two
7 two
8 two라고 할때
1. uniq b
b 파일에 중복되어 있는 것들만 찾아준다.
uniq b
->
one
two
three
two2. sort를 이용해서 다음과 같이 출력할 수도 있다.
sort b | uniq
->
one
three
two3. uniq -c b | nl
->
1 1 one
2 1 two
3 3 three
4 3 two-c 옵션은 중복되는 문자를 카운트한다.
4. uniq -u b
->
one
two중복되지 않는 것들만 출력한다.
5. uniq -d b
->
three
two중복된것만 보여준다.
대문자 -D는 중복된 것들을 뿌려준다.
6. uniq k -f
->
1 이순신 90 95
2 황진이 95 95
3 한석봉 95 95
4 신돌석 50 50
5 김철수 50 501) uniq k -f 1
->
이순신 90 95
황진이 95 95
신돌석 50 501번 필드를 기준으로 중복되지 않는 것들만 출력
2) uniq k -f 2
->
이순신 90 95
신돌석 50 502번 필드를 기준으로 중복되지 않는 것들만 출력
7. shuf -e 10 20 30 40 50
->
50
40
30
20
10->
20
50
30
40
10값을 랜덤하게 섞는다.
8. shuf -e 10 20 30 40 50 -n 2
->
20
10또는
->
30
10
랜덤하게 2개를 출력
9. shuf kor
->
1 90
2 95
3 95
4 50
5 50shuf kor -n 2 | nl
->
1 50
2 95또는
->
1 50
2 90와 같이 랜덤으로 출력된다.
10. shuf -i 1-45 -n 6
로또 번호출력하기
shuf -i 1-45 -n 6 -o lotto
-o 옵션을 주어서 저장할 수도 있다. (lotto라는 이름으로 저장)
11. date | cut -d ' ' -f2
-> 01.
date를 ' '를 기준으로 잘랐을 때 두번째 필드를 가져온다.
date
->2021. 01. 16. (토) 16:55:57 KST
12.
echo {1..20}
1부터 20까지 출력
-> 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
echo {d..h}
-> d e f g h
d부터 h까지 출력
echo {A..Z} | tr -d ' '
-> ABCDEFGHIJKLMNOPQRSTUVWXYZ
(공백없이 출력하기)
echo {A..Z} | tr -d ' ' | cut -c2
-> B
A부터 Z까지 공백없이 출력하여 문자단위로 잘랐을 때 두번째 필드값 출력
echo {A..Z} | tr -d ' ' | cut -c2,4,5
-> BDE
2, 4, 5번째 필드 출력
echo {A..Z} | tr -d ' ' | cut -c1-10
-> ABCDEFGHIJ
첫번째 필드부터 10번째까지 출력
echo {A..Z} | tr -d ' ' | cut -c10-
JKLMNOPQRSTUVWXYZ
10번째부터 끝까지 출력
13.
cat file1
->
이순신 90 90
황진이 54 79
한석봉 44 69
신돌석 50 55
김철수 90 69cat file1 | cut -f1
->
이순신
황진이
한석봉
신돌석
김철수file1에서 첫번째 필드만 잘라서 가져오기
cat file1 | cut -f1,2
->
이순신 90
황진이 54
한석봉 44
신돌석 50
김철수 90file1에서 첫번째, 두번째 필드 가져오기
14.
ps -ef | cut -d' ' -f1
->
root
root
root
root
root
root
root
root-d옵션을 주어 ' '단위로 자른다.
하지만 잘 안잘리는 경우도 있다.
who | cut -d' ' -f1
-> 잘 안잘려서 제대로 값을 출력할 수 없다.
따라서 awk를 쓴다.
who | awk '{print $2}'
-> 2021-01-16
who의 두번째 필드값을 가져온다.
cat file1 | awk '{print $1, '\t', $2}'
->
이순신 90
황진이 54
한석봉 44
신돌석 50
김철수 90cat file1 | awk '{print $2, '\t', $1}'
->
90 이순신
54 황진이
44 한석봉
50 신돌석
90 김철수거꾸로 출력할 수도 있다.
반응형'리눅스' 카테고리의 다른 글
리눅스 기초명령어 7 (tr, >, <, >>, <<, touch) (0) 2021.01.25 리눅스 기초 명령어6 (sort) (0) 2021.01.16 리눅스 기초 명령어4 (ls, vdir, paste, join) (0) 2021.01.12 리눅스 기초 명령어2 (head, tail, split) (0) 2021.01.08 리눅스 기초 명령어1 (cat, tac, tee, nl) (0) 2021.01.06