AWS, Docker/리눅스

리눅스) 명령어 uniq (중복제거), grep (원하는 행 출력)

zooyeonii 2021. 3. 10. 11:34

자주 사용하는 리눅스 명령어 정리

 uniq 

/usr/bin/uniq

중복된 내용의 행이 연속으로 있으면 중복 없이 하나의 행으로 만들어주는 리눅스 유틸리티이다.
-c 옵션 : 중복 행의 개수를 출력한다. 

$ cat test.txt 
cat
dog
cat
cat
dog
$ cat test.txt | uniq
cat
dog
cat
dog
$ cat test.txt | sort | uniq -c
3 cat
2 dog
$ cat my_file.txt | sort -u
정렬과 중복 제거 ! 

 grep 

해당 출력에서, ID 가 포함된 행만 출력하고자 합니다. 

$ipfs id 의 결과를 id.txt 로 저장한 후, $ grep "ID" id.txt 를 하니, "ID"가 포함된 행만 출력되는 것을 확인할 수 있었습니다. 룰루! 

cut

-b (byte) : 바이트 기준으로 추출

-c (character) : 문자수를 기준으로 추출

-f (field) : 파일의 필드를 기준으로 추출

-d (delimiter) : 필드 구분자를 지정. (기본 필드 구분은 [TAB])

리눅스 명령어 ) 파일은 남겨두고 내용만 삭제하기

cat /dev/null > 파일명

사용예제 )

cut -f 7 -d' ' file.txt  : file.txt 의 데이터에서 띄어쓰기로 구분한 후, 7번째 index에 해당하는 필드를 추출한다.
cut -f 2-3 -d',' count.txt | sort|uniq-c :
count.txt 의 데이터에서 ','로 구분한 후, index 2-3에 해당하는 데이터를 추출함. 이 때 중복을 제거하여 정렬하고, 중복 행의 개수를 함께 출력한다.