수정된 날짜를 추가하기 위해 파일 이름을 일괄 바꾸는 방법은 무엇입니까? [복사]

수정된 날짜를 추가하기 위해 파일 이름을 일괄 바꾸는 방법은 무엇입니까? [복사]

오늘과 어제 수정된 파일은 다음과 같습니다.

a.txt
b.png

나는 그것들의 이름을 다음과 같이 바꾸길 원합니다:

2020-02-01.a.txt
2020-01-31.b.png

단일 Bash 명령으로 이 작업을 어떻게 수행합니까?

답변1

ls | while read FILE; do mv "$FILE" "$(stat "$FILE" -c '%y' | cut -b -10). $FILE"; done

Windows 및 Linux Mint의 Git Bash에서 테스트되었습니다.

답변2

Perl 기반 rename유틸리티 사용:

$ rename -n 'use POSIX qw(strftime); s/^/strftime("%Y-%m-%d.",localtime((stat $_)[9]))/e' *.*
rename(a.txt, 2020-02-01.a.txt)
rename(b.png, 2020-02-01.b.png)

(일부 시스템에서는 rename로 제공될 수 있습니다 prename.)

관련 정보