次のコマンドは何をする?
grep -r "aaa" ./正答
- カレントディレクトリ直下のファイルだけから aaa を含む行を表示する
- カレントディレクトリ以下を再帰的に探し、aaa を含む行を表示する
- aaa という名前のファイルをカレントディレクトリ以下から探す
- カレントディレクトリ以下のファイル名に aaa を含むものを表示する
解説
grep はファイルの中身を検索するコマンドで、-r(--recursive)を付けるとディレクトリを指定したとき配下のファイルをすべてたどる。./ はカレントディレクトリなので「カレント以下の全ファイルから aaa を含む行を表示」になる。-r が無いと grep はディレクトリをスキップするので選択肢 1 のような動きにはならない。ファイル名を探すのは find の仕事で、grep の対象は中身である。
参考: www.gnu.org
この問題を含む Linux・シェル のテストを制限時間つきで解く
Linux・シェルクイズへ