stdout を最後のコマンドに渡すにはどうすればよいですか?

stdout を最後のコマンドに渡すにはどうすればよいですか?

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代わりに使用してみてください。

関連情報