2012-08-31 2 views
1

이 작업을 수행하는 방법에 대해서는 100 %가 아닙니다.값에 대한 greping! = * .file 확장자

기본적으로 내 응용 프로그램은 두 개의 파일 출력을 만듭니다.

file 
file.ext 

디렉토리를 검색 할 때 항상 두 파일을 모두 반환합니다. 나만 함께 일하기를 바란다

file 

파일에 대해 어떻게 grep을 할 수 있습니까? 아니면 올바른 명령을 grep입니까?

!grep *.ext 

의사 코드^

답변

0

당신은 그 이후 파일 및 아무것도로 끝나는 라인을 선택 GREP '파일 $', 즉를 사용하여 시도 할 수 있습니다. 또는 grep -v를 사용하여 결과를 반전시킬 수 있습니다.

# (echo "file"; echo "file.txt") | grep file$ 
file 
# (echo "file"; echo "file.txt") | grep -v .ext 
file 
0

난 당신 grep와 함께 무엇을하려고 아무 생각하지만, 당신이 파일이 존재하는지 여부를 확인하려면, 당신은 단순히이 수행

if [ -r /some/path/file ]; then 
    echo "File is readable." 
fi 
0

그렙 그 역수 -v 플래그가 이로 끝나는 모든 파일 이름을 제외됩니다

ls /your/directory | grep -v '\.ext$' 

: 의미는 (하지이 패턴을 포함 할 줄을 찾습니다).

1

왜 그냥 : 당신이 당신의 디렉토리를 검색 할 경우

grep foobar file 

또는

find . -name 'file' | xargs -r grep boofar 
0

는 역 일치 자세한 내용은

을 할 -v

grep -v option 

시도 do $ man grep

0

패턴과 일치하지 않는 모든 파일의 목록을 생성하려면 찾기에서 -not을 사용하십시오. 그래서 원하는 :

find . -not -name '*.ext'