2013-08-28 1 views
2

줄의 숫자 목록 인 폴더의 모든 * .txt 파일에서 패턴을 찾으려고합니다. * .vcf 형식의 것들을 포함하고있는 파일에 그러한 번호를 포함하는 행을 찾고 싶습니다. 서로 다른 목록은 file.output과 같은 형식이어야하는 다른 출력 파일을 생성해야합니다. 나는 이것을 시도했지만 작동하지 않는다. (미안, 나는 꽤 초보자 다.) 어쩌면 awk 나 다른 멋진 것들을 사용할 수 있을까?개별 출력을 생성하는 디렉토리의 모든 파일에서 패턴 찾기

for file in ./*.txt 
    do 
    cat $file|while read LINE 
    do 
    grep "$LINE" ./AC-AN-table.v2.vcf > "$file.output" 
    done 
+1

출력 파일에 무엇을 포함 하시겠습니까? 입력 한 샘플과 희망하는 결과물이 도움이 될 것입니다. – philshem

+0

샘플 입력과 예상 출력을 제공한다면 대답을 제공하는 것이 더 쉬울 것입니다. – givanse

답변

0

는 I는이 방법을 수행 할 것이다 :

ls *.txt | perl -nle 'system("grep -f $_ ./AC-AN-table.v2.vcf > $_.output"); 

설명 : 펄 -nle 입력에 걸쳐 반복하고, 각각의 루프에서 지정된 펄 표현을 실행한다. 더 perlrun에서 정보하지만 짧은 :

-n : loop over input without autoprinting 
    -l : modify line endings 
    -e : expression to execute 

-f 옵션은 grep을 할 수는 검색 할 패턴의 목록이있는 파일을 제공합니다. 한 줄에 1 개의 패턴.

관련 문제