0

今日、私が「検索」コマンドを使用していたとき。使い方が少しわかりにくいです。

問題:メインディレクトリの下にあるgzファイルの数を数えたい。ただし、メインディレクトリにはサブディレクトリもあります。例:/ mainDir / Dir1 / 1 / / mainDir / Dir2/1/2012。各サブフォルダの下には、いくつかのgzファイルがあります。

コマンド1を使用しますが、正常に動作します。

まず、メインディレクトリに移動します。

ls -R . | find -name "*.gz" | wc -l

ただし、コマンド2を使用すると、0が返されます。

ls -R /home/user1/data1/2012/mainDir | find -name "*.gz" | wc -l

理由は何ですか、誰かが何かアイデアを思いついたのですか?

ありがとう、

4

2 に答える 2

4

必要ありませんls。単にfind . -name '*.gz' | wc -lまたはfind /home/user1/data1/2012/mainDir -name '*.gz' | wc -lfindのようなハイフンオプションの前のコマンド内の単語は、-name検索するディレクトリの名前です。

于 2013-03-14T00:12:02.350 に答える
0

これはどう:

 find /home/user1/data1/2012/mainDir -name "*.gz" | wc -l

これは標準の検索構文に準拠しており、必要な処理を実行します。

于 2013-03-14T00:13:09.917 に答える