2009-11-25 51 views
2

我想grep在一個目錄中的多個文件,並收集每個grep的輸出在一個單獨的文件..所以如果我grep 20個文件,我應該得到20個輸出文件包含搜索項目。任何人都可以幫助我嗎?謝謝。grep-ing多個文件

回答

8

使用for聲明:

for a in *.txt; do grep target $a >$a.out; done 
+0

感謝很多快速回復:-) – 2009-11-25 21:37:20

1

只是一個gawk的命令

gawk '/target/ {print $0 > FILENAME".out"}' *.txt 
0

,你可以只使用外殼,無需外部命令

for file in *.txt 
do 
    while read -r line 
    do 
     case "$line" in 
      *pattern*) echo $line >> "${file%.txt}.out";; 
     esac 
    done < "$file" 
done