2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

grepコマンドでクォートで囲っているのってなんなんだろうと思って

Posted at

経緯

  • エンジニア3年目にしてやっとLinuxに触るようになったのですが、基本的なコマンドの一つの grep について一個疑問がありました。
  • 全然大した話ではないのですが、 grep コマンドへの引数として渡している文字列について、クォートで囲っているのとそうでないのがあって、しばらくどういう使い分けなのかわからずに先人のコマンド証跡を真似ていました。
  • でもいざ調べるとすぐわかりました。やはりすぐ調べないとですね…。

使い分け

  • 以下の使い分けが必要ということでした。
    • 検索文字列に空白が含まれる場合:シングルクォートまたはダブルクォートで囲む
    • 検索文字列に空白が含まれない場合:囲む必要無し

どういう場面が該当するか

タイムスタンプを検索するケース

  • 「空白が含まれるってどういう場面か」という話ですが、自分の実行していた grep コマンドの証跡を見てみると、ログファイルを検索していたんですね。
  • ログファイルなので、多くの場合タイムスタンプが付いていると思いますが、それが 2019-04-20 13:30:00みたいな形式だったため、バッチリ該当していました。

所有者と所有グループを検索するケース

  • これはググった時にヒットしたページに記載があったのですが、 ls -l コマンドを打った時の出力に検索をかけるケースも該当します。
  • 詳しくは参考リンクを貼りますので、そちらでご確認ください。

参考

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?