Skip to content
-
Subscribe to our newsletter & never miss our best posts. Subscribe Now!
Technical Personnal Blog

Technical Personnal Blog

Technical Personnal Blog

Technical Personnal Blog

  • Tech
  • Blog
  • Open Source
  • VEGAS
  • CARD
  • Favorite Link
  • Shop
  • Cart
  • Checkout
  • My account
  • Tech
  • Blog
  • Open Source
  • VEGAS
  • CARD
  • Favorite Link
  • Shop
  • Cart
  • Checkout
  • My account
Close

Search

  • https://www.facebook.com/
  • https://twitter.com/
  • https://t.me/
  • https://www.instagram.com/
  • https://youtube.com/
Subscribe
BlogTech

Linux에서 파일 내의 문자열을 검색하는 방법.

By techsupport
November 19, 2016 2 Min Read
Comments Off on Linux에서 파일 내의 문자열을 검색하는 방법.

원문보기

참고
http://soharang.tistory.com/815
http://ra2kstar.tistory.com/100

두 가지 방법이 있다.
* 첫 번째는 find와 xargs를 이용하는 방법
* 두 번째는 grep을 이용하는 방법.

1) find와 xargs를 이용하여 찾는 법

$ find . | xargs grep 홍길동
=> 현재 디렉토리 내 모든 파일들을 중에서 “홍길동”이라는 문자열을 갖고 있는 파일의 한 줄과 이름을 보여준다.

$ find . -name “*.txt” | xargs grep 홍길동
=> 현재 디렉토리 내 확장자가 txt인 파일들을 중에서 “홍길동”이라는 문자열을 갖고 있는 파일의 한 줄과 이름을 보여준다.

$ find . -name “*.txt” | xargs grep –color=auto 홍길동
=> 검색어로 사용된 문자열은 색을 달리하여 표시

$ find . -name “*.txt” | xargs grep -n 홍길동
=> 검색어의 위치(줄번호)를 같이 표기

$ find . -name “*.txt” | xargs grep -i LgMobile
=> 대소문자를 구분하지 않음

$ find . -name “*.txt” | xargs grep -l 홍길동
=> 현재 디렉토리 내 확장자가 txt인 파일들을 중에서 “홍길동”이라는 문자열을 갖고 있는 파일의 이름만 출력

grep: [특정경로]: No such file or directory 와 같은 메시지가 포함된다면 2>/dev/null 을 추가하면 해당 메시지를 표시하지 않고 찾은 결과만 볼 수 있다. 즉,
$ find . | xargs grep 2>/dev/null 홍길동

모든 옵션은 함께 사용 가능하다.
$ find . -name “*.txt” | xargs grep –color=auto -n 2>/dev/null 홍길동

2) grep을 이용하여 찾는 법

grep 명령은 파일 내에서 지정한 패턴이나 문자열을 찾은 후에, 그 패턴을 포함하고 있는 모든 행을 표준 출력해 준다.

* grep 명령의 기본 문법 : grep [-옵션] 패턴 파일명

grep의 option은 아래와 같다.
* -c : 패턴이 일치하는 행의 수를 출력
* -i : 비교시 대소문자를 구별 안함
* -v : 지정한 패턴과 일치하지 않는 행만 출력
* -n : 행의 번호를 함께 출력
* -l : 패턴이 포함된 파일의 이름을 출력
* -w : 패턴이 전체 단어와 일치하는 행만 출력

문자열은 아래와 같이 찾으면 된다.

$ grep -n ‘삼성’ token_dic
=> token_dic 이라는 파일내에서 ‘삼성’ 이라는 패턴이 들어간 문자열과 행번호를 출력

$ grep -l ‘삼성’ *
=> 현재 디렉토리의 모든 파일에서 ‘삼성’ 이라는 패턴이 들어간 파일의 이름을 출력

$ grep -v ‘삼성’ *
=> 현재 디렉토리의 모든 파일에서 ‘삼성’ 이라는 패턴이 들어가지 않은 행을 출력

$ grep -r ‘삼성’ *
=> 현재 디렉토리 및 서브디렉토리의 모든 파일에서 ‘삼성’ 이라는 패턴이 들어간 문자열 출력

grep으로 파일 내의 문자열을 찾을 때 정규 표현식(Regular Expression)을 사용할 수 있다. 패턴 지정에서 사용되는 정규 표현식은 작은 따옴표 (‘ ‘)로 묶어서 표현한다.

$ grep ‘^a’ 파일명
=> ^는 파일의 시작을 나타냄. 파일에서 a로 시작하는 행을 찾는다.

$ grep ‘apple$’ 파일명
=> $는 파일의 끝을 나타냄. 파일에서 e로 끝나는 행을 찾는다.

$ grep ‘app*’ 파일명
=> 파일에서 app로 시작하는 모든 단어를 찾는다.

$ grep ‘a…..e’ 파일명
=> 파일에서 a로 시작하고 e로 끝나는 7자리 단어를 찾는다.

$ grep [a-d] 파일명
=> 파일에서 a,b,c,d 로 시작하는 단어를 모두 찾는다.

$ grep [aA]pple 파일명
=> 파일에서 apple 또는 Apple로 시작하는 단어를 모두 찾는다.

$ grep ‘apple’ d*
=> d로 시작하는 모든 파일에서 apple 를 포함하는 모든 행을 찾는다.

$ grep ‘apple’ 파일명1 파일명2
=> 지정된 두개의 파일에서 apple 를 포함하는 모든 행을 찾는다.

$ grep ‘^[ab]’ 파일명
=> 파일에서 a나 b로 시작되는 모든 행을 찾는다.

Author

techsupport

Follow Me
Other Articles
Previous

SSL Strip 공격과 HSTS Bypassing

Next

How to: Create or Add a Setup Project

Categories

  • Android
  • Blog
  • Favorite Link
  • linux
  • Open Source
  • opencart
  • social
  • Tech
  • Uncategorized

Archives

  • January 2025
  • March 2024
  • August 2023
  • March 2023
  • February 2023
  • November 2021
  • August 2021
  • April 2021
  • March 2021
  • December 2020
  • October 2020
  • September 2020
  • July 2020
  • June 2020
  • May 2020
  • March 2020
  • February 2020
  • January 2020
  • December 2019
  • November 2019
  • September 2019
  • August 2019
  • June 2019
  • October 2018
  • August 2018
  • May 2018
  • April 2018
  • March 2018
  • January 2018
  • December 2017
  • November 2017
  • October 2017
  • September 2017
  • August 2017
  • June 2017
  • March 2017
  • January 2017
  • December 2016
  • November 2016
  • October 2016
  • September 2016
  • August 2016
  • July 2016
  • June 2016
  • May 2016
  • April 2016
  • January 2016
  • December 2015
  • August 2015
  • July 2015
  • June 2015
  • May 2015
  • April 2015
  • January 2015
  • December 2014
  • November 2014
  • October 2014
Copyright 2026 — Technical Personnal Blog. All rights reserved. Blogsy WordPress Theme