2014-01-16 3 views
0

이 스크립트는 파일에 존재하는 파일이 있는지 확인하고 수정 날짜가 1 일 미만인지 여부를 확인합니다. 필자는 테스트를 해보고 찾은 파일을 찾기 위해 전체 디렉토리를 횡단하도록 만들려고했지만 유닉스 스크립팅에 익숙하지 않았습니다.파일에 대한 하위 디렉토리를 검색하는 unix 스크립트

올바른 구문이나 명령을 알려주십시오. 찾고있는 파일이 업로드 디렉토리에 있으면 스크립트가 제대로 작동합니다.

문제 업로드 디렉토리 아래의 파일에 대한 모든 하위 디렉토리를 검색하고 싶습니다. : o) 유닉스 환경으로 mac 터미널을 사용하고 있습니다.

filename=help.csv 

filedir="localhost/upload/" 

cd $filedir 

# if [ find . -name "$filename" ]; then 
if [ -e "$filename" ]; then    # what should I add here to find the file in any subdirectory of upload 

    echo "File Exists" 
    filestr=`find . -name $filename -mtime +1 -print` 
    if [ "$filestr" = "" ]; then 
    echo "File is not older than 1 day" 
    else 
    echo "File is older than 1 day" 
    fi 
else 

    echo "File does not exist" 
fi 

exit 0 

답변

2

업로드 디렉토리에서 find 만 시작할 수 있습니다.

find /path/to/upload/dir -name $filename -mtime +1 -print 

. 그냥 "을보고 시작합니다."현재 디렉토리 인 의미 당신의 호출에 지금있다.

+0

[find/localhost/upload/-name "$ filename"-mtime +1 -print]가 있으면 스크립트를 수정했습니다. 그러나 나는 단지 "너무 많은 주장"이라는 아이디어를 얻지 못한다. 내 구문이 정확합니다. –

+0

'find' 명령은 명령 행에서 작동합니까? 나는 당신이'find'를 잘못 작성하고있는 것 같아요. –

+0

Andy는 그가 작성한 'find'명령으로 전체 스크립트를 바꾸라고 제안했습니다. 'if' 또는'[]'s ...'find' 명령을 수동으로 실행하십시오. – dg99

관련 문제