cat 과 grep

declspec의 이미지

어떤 디렉토리에 파일이 1000개가 있습니다.
그런데 1000개의 파일중 어떤 파일안에 'asdf' 라는 문자열이
들어있습니다.
cat 와 grep 을 써서 asdf 라는 문자열이
어느 파일의 몇번째 라인에 있는지 찾아내려면 명령어를 어떻게 만들어야 할까요?

cat * | grep asdf -H

이렇게 줬더니

(standard input):# Use this option if you run a MySQL server with BDB support enabled but
(standard input):# Use this option if you have a MySQL server with InnoDB support enabled
(standard input):# In this file, you can use all long options that a program supports.
(standard input):# If you want to know which options a program supports, run the program
(standard input):port = 3306

이런식으로 파일이 나오는게 아니라 스탠다드 인풋이라고... ㅠ.ㅠ

방법 없을까요?
그리고 grep 에 abc.* 과 같은식으로
패턴 문자열을 줘서 검색하게 할순 없을까요??

익명 사용자의 이미지

그냥 grep asdf * 하면 될것같네요.

grep도 regex 먹힙니다. grep "abc.*" * 해보세요.

익명 사용자의 이미지

음..... 설마 이런걸 원하시는건가요?

전 간편하게 찾을땐 걍 다음과 같이 alias 해서 쓰거든요

alias grp='find . -print0 | xargs -0 grep -n'

그리구 grep에 뭔가 부족하면 egrep을 써보세요.

아 하나더..... 프로그램에 파라매터 넘기실땐 '넣어서 쓰는것이 좋아요.

> 익명이라 글이 틀리면 .... 수정이 안될텐데~ 에라 모르겠네여 뭔가 틀리면 누군가 고쳐주겠지 :D

planetarium의 이미지

cat도 필요없이 grep의 -n 옵션만 주면 간단할것 같은데요;;

grep -n 'abc.*' *

declspec의 이미지

이렇게 간단한거였군요 ㅡㅡ;;;;;
전 항상 cat 하고 같이 써야되는줄 알고.. ㅠㅠ
감사합니다

자기실력이 좋다고 느껴지는건 공부를 안하고 있다는 신호.