리눅스 유니크한 값 개수 세는 명령어
글쓴이: demixing / 작성시간: 수, 2018/07/18 - 4:11오후
안녕하세요?
현재 다음과 같은 데이터가 있었습니다.
(쓰레기값),(숫자)
예를들면
12awelkh,1
23kcjrl3,5
23krcjlk,4
134c9sdk,5
124c98cc,6
134csdkl,1
이를 sort 명령어를 사용해 다음과 같이 바꿨습니다.
(명령어 - sort -t "," -k 2 -n 파일명)
12awelkh,1
134csdkl,1
23krcjlk,4
134c9sdk,5
23kcjrl3,5
124c98cc,6
현재 위와 같이 정렬된 파일을 가지고 있는데요,
원하는 결과는 다음과 같습니다.
(숫자) (갯수)
1 2
4 1
5 2
6 1
즉, 1이 2개, 4는 1개, 5는 2개, 6은 1개 입니다.
이를 결과로 만드는 명령어가 있을까요?
Forums:
uniq 명령을 이용하시면 됩니다
uniq 명령을 이용하시면 됩니다
감사합니다 너무 잘 작동합니다!!
너무 잘 작동합니다!!
혹시 한가지만 더 여쭈어보고 싶은게
결과 파일을 보면
(숫자) (갯수) 형태가 아니라
(갯수) (숫자) 형태로 나오는데
이걸 반전시킬수 있나요?
uniq --help로 찾아보니까 uniq에는 그런 옵션은 없는걸로 보였습니다..ㅜ
라고 질문을 했었는데 아래분이 답변을 주셨네요...!!
.
감사합니다...!! 너무 잘 작동합니다
cat filename | cut -d ',' -f2 | uniq -c | awk '{print $2, $1}'
이렇게 하니까 되네용 와 리눅스는 끝이 없네요 감사합니다...!!
이게 원리가 혹시
awk '{print $2, $1}' 를 안붙이면 defalut로 당연히 awk '{print $1, $2}' 형태로 출력되는데
awk '{print $2, $1}' 를 써서 위치를 바꿔주는 역할인가요??
감사합니다
답글 달아주신 두분 감사합니다. 질문들은 다 해결되었습니당
cat SOME_FILE | awk -F',' '{print $2}' | sort -V | uniq -c | awk '{print $2, $1}'
해보니까 원하는 결과가 나오네요 ㅎㅎㅎㅎ감사합니다
댓글 달기