2

「not」という単語を含むいくつかのテキスト ファイルがあり、それらを検索して一致を含むファイルを作成したいとします。Linuxでは、私はそうするかもしれません

grep -r not *.txt > found_nots.txt

これはうまくいきます。PowerShellでは、次のように画面に表示したいものをエコーし​​ます

get-childitem *.txt -recurse | select-string not

ただし、これをファイルにパイプすると:

get-childitem *.txt -recurse | select-string not > found_nots.txt

それは何年にもわたって実行されます。私は最終的に CTRL-C を押して終了し、非常に巨大な found_nots.txt ファイルを確認しました。PowerShell には、検索するファイルの 1 つとして出力ファイルが含まれているように見えます。コンテンツを追加するたびに、追加するものがさらに見つかります。

この動作を止めて、Unix 版のように動作させるにはどうすればよいですか?

4

2 に答える 2

4

-Excludeオプションを使用してください。

get-childitem *.txt -Exclude 'found_nots.txt' -recurse | select-string not > found_nots.txt
于 2013-08-23T14:54:47.237 に答える