프롬프트에서 파일을 검색하는 방법은 무엇입니까?

프롬프트에서 파일을 검색하는 방법은 무엇입니까?

검색 파일을 요청하는 스크립트를 만들고 싶다고 가정해 보겠습니다.

그래서,

echo "What file are you searching for?"
read filename
filepath=/test/dir1
file=$filename
for I in file
do
echo "$I"
find "$filepath" "$I"
done

이는 지정된 파일 이름을 지속적으로 검색하는 것으로 나타납니다. 그러나 나는 얻는다찾기: 파일: 해당 파일이나 디렉터리가 없습니다.

답변1

우선 변수 값을 검색할 때 달러 기호가 필요합니다 for I in file.for I in $file

다음과 같은 방법으로 스크립트를 변경하겠습니다.

echo "What file names are you searching for?"
read files
filepath=/test/dir1

for f in $files
do
    echo "$f"
    find "$filepath"/"$f"
done

$file나는 from 할당을 제거 $filenames하고 사용자가 공백으로 구분된 여러 파일 이름을 입력하도록 의도했다고 가정했습니다.

find그런 다음 디렉터리 이름과 파일 이름을 단일 슬래시로 구분하여 구성된 경로를 전달했습니다 . 어떤 깊이에서든 이와 같은 이름의 파일을 찾으려면 find "$filepath" -name "$f".

관련 정보