기초 명령어 질문..

kimes의 이미지

제가 이런저런 리눅스 관련 문서들을 몇개 만들어 놓았거든요..
뭐 설정하는법 그런것들이요..

모두 확장자는 txt입니다.
거기서 예를 들어 gnome이라는 내용이 있으면 그 화일명과 내용을 출력하고 싶어서요..

cat *txt | grep -i gnome
이런식으로 명령을 때리니깐

내용은 잘 잡아내는데
화일명 까지 나왔으면 참좋겠네요..

혹시 방법을 아시나요?

ctcquatre의 이미지

좋은 스크립트는 아니지만... 그냥 예전에 일일이 찾기 귀찮아서
만들어 놓은겁니다.

in_searchf_c쉘 스크립트 내용
############################
#!/bin/bash

F_NAME_ME=$( cat $1 | grep $2 )

if [ "$F_NAME_ME" != "" ]
then
echo "$1 : $FILE_NAME_ME"
fi
#############################

searchfc의 파일의 내용
#############################3
#!/bin/bash

if [ $# -ne 2 ]
then
echo "Usage : searchfc path findstring"
exit 1
fi

find $1 -type f -exec /usr/bin/in_searchf_c {} $2 \;
##################################

[user@host derctory]$ searchfc [경로명] [찾을 문자열]

Chaos to Cosmos,
Chaos to Chaos,
Cosmos to Cosmos,
Cosmos to Chaos.

Prentice의 이미지

cat을 쓰시면 절대로 파일명이 나올 수 없죠. stdin이라고 나온다면 모를까요.

man grep

GNU grep: -H, --with-filename

find . -name '*.txt' -exec fgrep -Hi gnome '{}' \;

astronux의 이미지

grep -i gnome *.txt

Astronomy+Linux

망치의 이미지

제가 쓰는 방법입니다..

find /path -name "*.txt" | xargs grep gnome

---------------------------------------
http://www.waitfor.com/
http://www.textmud.com/