7

次の構造のディレクトリに csv ファイルがあります。

20090120/
20090121/
20090122/
etc...

これらのディレクトリ内のすべてのcsvファイルで特定の文字列をgrepしたいのですが、200901 * / * .csvなど、2009年1月のみです

これを行うことができるbashコマンドライン引数はありますか?

4

4 に答える 4

12

はい。grep "a certain string" 200901*/*.csv.

于 2013-01-02T02:39:37.123 に答える
5

次のようなものが必要です:

grep NEEDLE 200901*/*.csv

NEEDLE(検索文字列が当然だと仮定すると、実際に探しているものに変更するだけです)。

シェルは、bash複数レベルのパスとファイル名を展開することができます。

もちろん、これは 1 つ下のディレクトリにある CSV ファイルに限定されます。サブツリー全体を検索したい場合は、少し複雑な (そして適応性のある)findコマンドを使用する必要があります。

ただし、深さに制限を設定できると仮定すると、次のようなものでうまくいく可能性があります (3 レベルの場合):

grep NEEDLE 200901*/*.csv 200901*/*/*.csv 200901*/*/*/*.csv 
于 2013-01-02T02:39:48.930 に答える
4

これを試して :

grep -lr "Pattern" 200901*/*.csv 
于 2013-01-02T04:13:25.457 に答える