Skip to Content
Go Back
안형우

안녕하세요. 14년차 풀스택 웹개발자 안형우입니다. 이 블로그에서는 WordPress, PHP, CSS, 사용성, 리눅스 서버 등 풀스택 웹개발에서 마주하는 다양한 문제 상황과 해결책, 필요한 개념들을 다룹니다. 👉 소개


작업물

📌 워드프레스, 답답한 빌더와 플러그인 대신 시원하게 커스터마징하기(강의) 2023-01-15
📌 아무도 말하지 않는 PHP의 좋은 점 2018-10-13
📌 유지보수하기 쉬운 CSS 전략(슬라이드) 2016-12-20
📌 워드프레스 테마에서 템플릿 파일 매칭 순서 2013-05-12

[Shell] find와 grep 조합해서 텍스트 문서 검색하기

find . -name "*.css" -print | xargs grep --color=auto -nH "screen-reader-shortcut"

뭐 별다른 건 없고 위처럼 검색하면 된다.

그런데 min.css 처럼 한 줄에 모든 내용이 다 들어가 있는 경우 골치가 아프다. grep이 찾았다면서 파일 하나를 다 출력해 주니 말이다. 그런 경우엔 아래처럼 regex 옵션을 사용해 주면 된다.

find . -regex ".*[^(min)]\.css$" -print | xargs grep --color=auto -nH "screen-reader-shortcut"

find의 옵션

  • -name : 파일명 검색
  • -regex : 정규식으로 파일명 검색
  • -print : 결과를 Standard Output으로 넘겨 준다. 그렇게 해야 xargs로 각각의 줄을 grep에 넘겨줄 수 있나보다.

파이프 사용할 때

  • xargs : 그냥 파이프를 쓰면 Standard Output을 통째로 넘겨 주는데, 이걸 쓰면 한 줄씩 인자값으로 넘기나 보다.

grep의 경우

  • --color=auto : 검색 결과에 색깔 입히는 거
  • -n : 줄번호 출력
  • -H : 파일명 출력. 근데 사실 파일이 하나 이상이면 파일명은 기본으로 나온다.

안녕하세요. 14년차 풀스택 웹개발자 안형우입니다. 이 블로그에서는 WordPress, PHP, CSS, 사용성, 리눅스 서버 등 풀스택 웹개발에서 마주하는 다양한 문제 상황과 해결책, 필요한 개념들을 다룹니다. 👉 소개


작업물

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다