![디렉토리에 있는 여러 파일의 파일 확장자 앞에 현재 날짜를 추가하는 방법은 무엇입니까?](https://linux55.com/image/114149/%EB%94%94%EB%A0%89%ED%86%A0%EB%A6%AC%EC%97%90%20%EC%9E%88%EB%8A%94%20%EC%97%AC%EB%9F%AC%20%ED%8C%8C%EC%9D%BC%EC%9D%98%20%ED%8C%8C%EC%9D%BC%20%ED%99%95%EC%9E%A5%EC%9E%90%20%EC%95%9E%EC%97%90%20%ED%98%84%EC%9E%AC%20%EB%82%A0%EC%A7%9C%EB%A5%BC%20%EC%B6%94%EA%B0%80%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
디렉토리에 있는 여러 파일의 파일 확장자 앞에 현재 날짜를 추가하는 방법은 무엇입니까?
원본 파일:
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/' *