/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