locate
現在のディレクトリのみで検索を試みていますが、そのためには次の方法を使用しています。
locate file | pwd | xargs grep
問題は、locate の結果が grep で失われることです。これを仕事でどのように実行できますか。可能ですか?
答え1
の場所pwd
が正しくありません。次のように試してください。
locate file | xargs grep `pwd`
しかし、なぜ単にls
ls|grep file
答え2
ファイルやフォルダを検索するときは、探すより柔軟性があるため、コマンドを使用します。
#to search only in the current folder (without going to subfolders)
find "$(pwd)" -maxdepth 1 -name "*file*"
#to search in the current folder and subfolders
find "$(pwd)" -name "*file*"
find "$(pwd)"
find が返すものの完全なパスを印刷するために が使用されることに注意してください。find .
現在のフォルダーへの相対パスが必要な場合は を使用できます。
何も見つからなかった場合、-iname
代わりに使用してみてください。