現在のディレクトリでのみ検索しようとしています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
。