リモートシステムで grep を実行するとファイルまたはディレクトリが利用できないと表示される理由

リモートシステムで grep を実行するとファイルまたはディレクトリが利用できないと表示される理由

5月22日の結果を得るためにリモートシステムでgrepコマンドを実行しようとしています。しかし、応答が返ってきます

/bin/grep: /var/log/Clients_Logs/127.0.0.1/*: そのようなファイルまたはディレクトリはありません

しかし、ファイル名を具体的に指定すると、機能して結果が得られます。

このコマンドはエラーになります

ssh -tt [email protected]  'sudo /bin/grep -r "May 22" /var/log/Clients_Logs/127.0.0.1/*'

答え1

問題: * は展開されません。 * という名前のファイルは実際には存在しないため、 grep はそれを報告します。

解決: 最後の * を削除します。-r と連動して、grep がそのディレクトリ内のすべてのファイルを調べるようになります。

関連情報