レッスン動画(0:22)では以下の命令でファイル名の検索を行っています。
ls -l /etc/ | grep 'sudo'
しかし、単独でgrep
を使おうとするとうまくいきません。例えば、
例1: /etc/services
ファイル内に'backup'
という文字列があるか検索する場合
以下のように書くと検索できる。
grep 'backup' /etc/services
例2: etc
ディレクトリ内に'sudo'
というファイルがあるか検索する場合
以下のように書いてもうまく検索できない。
grep 'sudo' /etc/
例1, 2から考えて、grep
はディレクトリ内のファイル名の検索には使えないと考えてよいでしょうか?
ただし、以下のようにパイプを使ってls
と組み合わせればファイル名の検索もできるようになる?
ls -l /etc/ | grep 'sudo'
という認識で合ってますか?
・なお、grep
は通常、以下のように検索場所(=/etc/services
)を指定すると思います。
grep 'backup' /etc/services
しかし、レッスンではパイプを使う場合はgrep 'sudo'
しか書かず、どこを検索するか指定していません。パイプ記号の左側のls -l /etc/
で検索場所を指定済みなので省略できる、ということでしょうか。
grep
の基本的な使い方がふわっとしかわかっておらず、質問させてもらいました。
ご回答のほどよろしくお願いします。
この回答を見るにはプレミアムプランへの登録が必要です
プレミアムプランとは?