마지막 명령에 표준 출력을 전달하는 방법은 무엇입니까?

마지막 명령에 표준 출력을 전달하는 방법은 무엇입니까?

현재 디렉토리에서만 검색하려고 합니다 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.

관련 정보