날짜 스탬프가 있는 보관된 파일

날짜 스탬프가 있는 보관된 파일

/users/wahasan이 디렉터리에서 여러 파일을 로 이동(보관)하고 싶습니다 /users/wahasan/old. 보관된 파일은 자동으로 날짜를 업데이트해야 합니다.

파일 형식은 CHKBOI.pos, CHKUTI.pos, CHKSBI.pos등 입니다. 여기 CHK.pos모든 파일 이름에 공통적입니다.

날짜 스탬프를 사용하여 소스 디렉터리에서 대상 디렉터리로 모든 파일을 이동하려면 쉘 스크립트가 필요합니다.

답변1

순수 BASH 버전:

dir='/users/wahasan';stamp=$(date +%Y%m%d_%H%M%S); for file in $dir/CHK*.pos; do nn=${file/CHK/old/CHK}; nn=${nn/pos/pos_$stamp}; echo "$file  --->  $nn";mv $file $nn; done

한번 시도해 보세요. 효과가 있을 것입니다.

응급실:

dir='/users/wahasan';          ## path to work directory
stamp=$(date +%Y%m%d_%H%M%S);  ## date_time stamp
for file in $dir/CHK*.pos; do  ## getting list of all files to be moved
    nn=${file/CHK/old/CHK};    ## generating new absolute path [1] (adding '/old/')
    nn=${nn/pos/pos_$stamp};   ## generating new absolute path [2] (adding stamp)
    echo "$file  --->  $nn";   ## showing what will be moved to what (can be removed)
    mv $file $nn;              ## moving
done

관련 정보