디렉토리에 있는 여러 파일의 파일 확장자 앞에 현재 날짜를 추가하는 방법은 무엇입니까?
원본 파일:
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/' *