2014-02-25 87 views
2

我想創建一個帶有grep搜索輸出的文件,但是在搜索中包含的文件夾中。如果我這樣做:用搜索文件夾中的grep搜索創建一個文件

grep -rnw . -e "text" > test/files.txt 

它永遠不會結束,因爲它總是添加一個files.txt。完成後我該怎麼做?

grep -rnw . -e "text" >| test/files.txt 

這給出了與前一個相同的輸出。 有什麼想法?

回答

1

使用父目錄:

grep -rnw . -e "text" > ../files.txt && mv ../files.txt test/files.txt 

然而,這依賴於它可能在某些情況下失敗的相對路徑。使用靜態獨立路徑(例如,/tmp)來避免這種情況。你

+0

你的第一個答案的罰款:'grep的-rnw。 -e「text」> test/files.tmp && mv test/files.tmp test/files.txt'。我沒有考慮時態文件。 – Llopis

+1

@Llopis如果您需要解析所有文件(即沒有掩碼),它將會失敗。這就是我更新的原因 –

0

也可以試試這個:

cat <<< "$(grep -rnw . -e "text")" > test/files.txt