특정 형식의 미래 날짜가 포함된 파일 이름을 기반으로 파일을 복사합니다.

특정 형식의 미래 날짜가 포함된 파일 이름을 기반으로 파일을 복사합니다.

다음과 같은 파일이 있습니다.

20029181109173105_MAN_TDR.PLU
20029181109185001_MAN_TDR.PLU
20029181109185301_MAN_TDR.PLU
20029181109185601_MAN_TDR.PLU
20029181109185901_MAN_TDR.PLU

이름이 현재 날짜보다 큰 날짜 형식을 가진 파일을 복사해야 합니다(이 경우 "181109180000"(2018년 11월 11일 18:00h GMT-5)).

답변1

Bash를 사용하면 다음을 수행할 수 있습니다.

# the set-up
touch 20029181109173105_MAN_TDR.PLU 20029181109185001_MAN_TDR.PLU 20029181109185301_MAN_TDR.PLU 20029181109185601_MAN_TDR.PLU 20029181109185901_MAN_TDR.PLU

current=181109180000    # this would be `current=$(date "+%y%m%d%H%M%S")`

# the pay-off
for f in *PLU; do 
    if [[ $f =~ ^.....([0-9]{12}) ]] && [[ ${BASH_REMATCH[1]} -gt "$current" ]]; then 
        echo "$f"
    fi
done
20029181109185001_MAN_TDR.PLU
20029181109185301_MAN_TDR.PLU
20029181109185601_MAN_TDR.PLU
20029181109185901_MAN_TDR.PLU

관련 정보