2016-08-10 21 views
0

我是新手編程/腳本/一切,我想弄清楚如何通過我有一個.txt文件的每一行,並編寫包含特定字符串的行(例如「美國的美國「)到新的.txt文件。如何將包含某個字符串的每一行打印到新的txt文件?

我知道如果grep命令包含字符串,它會打印出該行,但我想知道如何將該行寫入新文件。

是否有某些命令可以幫助我呢?謝謝!

+0

歡迎堆棧溢出:)許多很好的問題可能已經有很好的答案在這裏。所以請在你問之前進行搜索。 – sjsam

+0

實際上這是幾乎在兩個副本中都被詢問的問題,但完全不一樣:)現在我認爲我們有所有的問題和答案。完成。 –

回答

3

你幾乎在那裏。只是grep的結果重定向到一個文件

grep "United States of America" text.txt > results.txt 

(使用>>將追加到results.txt而不是創建一個新的文件)

+0

不錯,但你可能希望在回答之前進行搜索,如果之前已經問過類似的問題。 – sjsam

+0

由tripleee表示的「可能的重複」不是重複的。真正的問題是「如何將命令輸出重定向到文件」,但OP甚至不知道在Unix上甚至在Windows上都有一種通用的方法。也許OP正在尋找'grep'選項。 –

+0

我提出的問題或[[\ [link \]](http://stackoverflow.com/questions/17203050/printing-grep-results-to-file-and-terminal)中的問題或建議清楚地解決了上述問題在問題中。 – sjsam

-1

如果認爲什麼是你正在尋找的是tee。看下面的例子(希望它會回答這個問題)。

sh-4.3$ echo "1" > 1.txt
sh-4.3$ echo 2 >> 1.txt
sh-4.3$ echo 21 >> 1.txt
sh-4.3$ echo 22 >> 1.txt
sh-4.3$ grep 1 1.txt
1
21
sh-4.3$ grep 1 1.txt | tee 2
1
21
sh-4.3$ cat 2 1 21

+1

沒有任何跡象表明該操作正在尋找'tee'並且好心地格式化代碼。 – sjsam

相關問題