디렉토리에 있는 여러 파일의 파일 확장자 앞에 현재 날짜를 추가하는 방법은 무엇입니까?

디렉토리에 있는 여러 파일의 파일 확장자 앞에 현재 날짜를 추가하는 방법은 무엇입니까?

디렉토리에 있는 여러 파일의 파일 확장자 앞에 현재 날짜를 추가하는 방법은 무엇입니까?

원본 파일:

Expenses.log
Allowances.log

산출:

Expenses_20170624.log
Allowances_20170624.log

이 명령은 파일 확장자에 날짜를 추가합니다. :(

for file in *; do mv "$file" "${file}_$(date +"%d%m%Y")"; done

답변1

매개변수 확장을 사용하여 확장을 분리합니다.

#! /bin/bash
date=$(date +%Y%m%d)
for file in * ; do
    basename=${file%.*}    # Remove extension
    extension=${file##*.}  # Remove basename
    mv "$file" "$basename"_"$date.$extension"
done

답변2

스트랩이 짧음rename주문하다(진주구현하다):

rename 's/\.([^.]+)$/_'$(date +"%d%m%Y")'.$1/' *

관련 정보