index.html 이라는 파일의 내용을 보자.
cat index.html
엄청 길다. 여기서 "color"가 포함된 문자열을 출력해보자.
cat index.html | grep "color"
2020/02/14 - [개발] - [Linux] 원하는 디렉토리/파일/문자열 데이터를 추출해보자. (find | xargs grep)
color가 포함된 문자열이 출력됐다. cut 명령어의 구분자를 이용해 Color HEX를 추출해보자.
cut
cut 은 문자열을 각 필드로 구분하고 필드별로 내용을 추출 할 수 있다. 구분자로 문자열을 나눠보자.
grep으로 추출한 문자열의 패턴을 잘 살펴보자. Color HEX만 추출하려면, 어떤 문자를 구분자로 사용해야 할까.
구분자로 설정하는 옵션은 -d 이고, 구분자로 필드를 나누면 몇번째 필드를 출력할 것인지 명령해야 한다.
: 를 사용해보자. 구분자는 : 을 사용할 것이고 두번째 필드를 출력할 것이다.
cat index.html | grep "color" | cut -d ":" -f2
color HEX 만 추출했다. 이제 중복을 제거해보자. 중복제거는 uniq를 사용하겠다.
cat index.html | grep "color" | cut -d ":" -f2 | uniq
어? 이상하다. 왜 중복 제거가 안 됐지? 카운트를 해보자.
cat index.html | grep "color" | cut -d ":" -f2 | uniq -c
카운트가 증가한 행을 중복 제거 전의 것과 비고해서 살펴보면 위 아래 근접한 것만 중복제거 처리 되었다.
그렇다면 sort를 해보자.
sort
sort는 입력어들이나 인수목록들에 기입된 모든 파일들의 연속어들을 정렬된 순서로 출력한다.
cat index.html | grep "color" | cut -d ":" -f2 | sort
정렬이 되었다. 그럼 이제 다시 uniq를 붙여보자.
cat index.html | grep "color" | cut -d ":" -f2 | sort | uniq -c
출력 완료.
uniq는 중복된 내용의 행이 연속으로 있으면 중복 없이 하나의 행으로 만들어 주기 때문에 흔히 sort와 함께 사용한다.
새로운 사실을 알게되었다.
다음 시간에는 awk를 알아보자
'IT지식 > 개발' 카테고리의 다른 글
[책] 생활코딩! PHP+MySQL 후기 (0) | 2020.02.17 |
---|---|
[Linux] awk 명령어 사용하기. awk '{print}' (0) | 2020.02.16 |
[Linux] 원하는 디렉토리/파일/문자열 데이터를 추출해보자. (find | xargs grep) (0) | 2020.02.14 |
[GIT] 특정 파일만 받기 (0) | 2020.02.14 |
[mysql] DB에 한글이 insert 안 될 때 테이블의 charset를 변경하세요. (0) | 2020.02.13 |