2011-04-28 5 views
0

나는 스크립트에 의해 생성되고 디렉토리에 저장된 두 개의 dat 파일을 가지고있다. 파일이 생성 된 후 어떻게되는지를 알 수있는 방법이있다. 어떻게 찾을 수 있는가? 한 가지 더 어떤 명령이 한 디렉토리의 모든 파일에서 특정 단어를 검색합니까? grep -r .. 나에게 도움이되지 않는 작업 ... 다른 제안 ...유닉스 도움이 파일

+0

사용하여 디렉토리에있는 파일에서 단어를 검색하는 "입니다 거기 파일이 생성 된 후 일어나는 일을 찾는 방법 "- 그것은 오버 y 광범위한 질문. –

+0

복사하여 diff를 사용 하시겠습니까? 알아 내고 싶은 것이 확실하지 않습니다. – beta0x64

+0

조차도 혼란 스럽습니다. 그래서 다른 목적을 위해 그 파일을 골랐을지도 모르는 각 스크립트 아래에서 abt를 생각하고 있습니다. 어떻게 전체 스크립트를 검색하고 거기에있는 특정 단어를 찾을 수 있습니까? 이제 아무도 그 dat 파일이 생성 된 후에 어떤 일이 일어날 지 알지 못합니다. – jack

답변

0

나는 다른 사람과 동의하며 질문의 첫 번째 부분도 역시 막연한. 'XXXX처럼 파일을 바꿀 것으로 예상했다'와 같은 세부 정보를 추가하지 않으면 어떻게 확인할 수 있습니까?

당신은

cd myDataDir 
grep 'searchTarget' * 

나는이 도움이 되었으면 좋겠 즉, 하나의 디렉토리

그냥 일반 그렙를 사용하는 모든 파일에서 특정 단어에 대한 어떤 명령을 검색

을 썼다.

P. 당신이 새로운 사용자로 보일 때, 당신이 그것을 받아 들일 수있는 것으로 표시하고/또는 유용한 답으로 + (또는 -)를주는 것을 기억하는 데 도움이되는 대답을 얻으면.

1

inotifywait(1)을 사용하여 파일을 모니터링 할 수 있습니다.

inotifywait 효율적으로 파일을 변경을 기다립니다

그것은 두 번째 질문의 경우 쉘 스크립트에서 파일을 변경

0

대기에 적합합니다 :

find . | xargs grep word_to_search 

그것을 현재 디렉토리 (.)의 모든 파일을 재귀 적으로 나열합니다. 그런 다음 grep에 입력으로 제공합니다.

첫 번째 질문은 : 파일 변경 사항을 지속적으로 모니터링하기를 원한다면 svn을 사용하는 것이 좋습니다.

0

첫 번째 질문을 이해하지 못합니다. 하지만 당신의 두번째 질문에 대한

순수 쉘 솔루션

shopt -s nullglob 
for file in * 
do 
    while read -r line 
    do 
    case "$line" in 
     *searchword*) echo "$file: $line";; 
    esac 
    done < "$file" 
done 

grep

grep -l "pattern" * 

를 사용 awk

awk '/pattern/{print FILENAME": "$0}' *