最後のコマンドに標準出力を渡すには?

最後のコマンドに標準出力を渡すには?

現在のディレクトリでのみ検索しようとしていますlocate。これを行うには、次の方法を使用しています。

locate file | pwd | xargs grep 

問題は、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

関連情報