Unix에서 find 명령을 사용하여 파일을 찾는 방법은 무엇입니까?

Unix에서 find 명령을 사용하여 파일을 찾는 방법은 무엇입니까?

특정 패턴이 포함된 파일을 검색해 보았습니다. 패턴 자체는 tmpfl 변수에 있습니다.

echo $tmpfl --> ack_2*

이제 현재 작업 디렉토리 자체에서 파일을 찾기 위해 다음을 사용하려고했습니다.

find . -name $tmpfl

find . -name ($tmpfl)

그러나 그들 중 누구도 작동하지 않는 것 같습니다. 하지만

find . -name ack_2*

기적적으로 작동합니다.

이 접근 방식에 어떤 문제가 있나요? 이것은 유닉스에서 간단한 변수 대체입니다. 그렇죠? 그렇다면 내가 무엇을 놓치고 있는 걸까요?

답변1

변수 주위에 ""를 넣어야합니다.

find . -name "$tmpfl"

답변2

-name매개변수가 변수이든 하드코딩된 값이든 관계없이 매개변수를 큰따옴표로 묶어야 하는 경우(공백이나 인쇄할 수 없는 문자 제외)가 있다는 것을 발견했습니다 . 항상 사용하는 습관을 들이는 것이 좋습니다.

관련 정보