2つの入力を受け取るシェルスクリプトが必要です。
- 検索する必要があるメインディレクトリと
- メインディレクトリ内のすべてのファイル(.cおよび.hファイル)を検索するパターン
メインディレクトリと各サブディレクトリで見つかったパターンの数を出力する必要があります。
main dir --> Total pattern found = 5
|
sub dir --> 3
|
sub dir --> 2
2つの入力を受け取るシェルスクリプトが必要です。
メインディレクトリと各サブディレクトリで見つかったパターンの数を出力する必要があります。
main dir --> Total pattern found = 5
|
sub dir --> 3
|
sub dir --> 2
これはそれを行う必要があります:
#!/bin/sh
grep -rl "$1" . | sed -r 's/\/[^\/]+$//' | sort | uniq -c
次のように機能します。
$1を使用して見つけますgrep
-r.現在のディレクトリとすべてのサブディレクトリ内のすべてのファイルを検索します-lpath/filenameパターンに一致するテキストを持つファイルのみを出力しますfilenameすべての出力から削除されるため、path(つまりディレクトリ)のみが残りますその出力は次のようになります。
2 .
3 ./sub_dir1
1 ./sub_dir2
6 ./sub_dir2/a_sub_sub_dir
最初の列はディレクトリ内のパターンの一致数であり、2番目の列はディレクトリの名前(.メインディレクトリ)です。