파일명 형식을 "2020-12-09"에서 "2020.12.09"로 변경합니다.

파일명 형식을 "2020-12-09"에서 "2020.12.09"로 변경합니다.

Bash를 사용하여 파일 시작 부분에 날짜를 추가하는 방법을 알아냈습니다. 문제는 내가 2020.12.09 - filename역사적으로 모든 파일에 해당 형식을 사용하고 선호한다는 것입니다. 내 명령은 날짜에 대한 표준 형식을 추가합니다 2020-12-09filename. 대시를 마침표로 바꾸고 날짜와 파일 이름 사이에 공백이 있는 대시를 추가하고 싶습니다.

도움을 주시면 감사하겠습니다. 감사합니다!

답변1

초기 프로그램을 편집할 수 있으면 date매뉴얼 페이지를 확인하십시오.

date '+%Y.%m.%d'      # -->  2020.12.09

기존 파일의 이름을 바꾸려면:

prename 's/(\d{4})-(\d{2})-(\d{2})/$1.$2.$3 - /' 20*

일부 Linux 배포판에서 prename호출됨rename

답변2

이것은 나에게 효과적입니다.

mv 12-34-5.txt 12\.34\.5.txt

구문은 다음과 같습니다.mv <old name> <new name>

답변3

나는 당신이 다음과 같은 날짜를 생성하고 있다고 생각합니다.

$ date -Idate
2020-12-09

다음을 사용하여 이를 배관으로 sed대체 할 수 있습니다 .-.

$ date -Idate | sed 's/-/./g'
2020.12.09

그런 다음 파일 이름을 바꿀 수 있습니다.

mv "$file" $(date -Idate | sed 's/-/./g')\ -\ "$file"

이것은 약간 장황하므로 다음에서 함수를 만들 수 있습니다 ~/.bashrc.

function add-date {
  mv "$1" $(date -Idate | sed 's/-/./g')\ -\ "$1"
}

이제 작동 방식을 보여드리겠습니다.

$ touch file1
$ ls
file1
$ add-date file1
$ ls
'2020.12.09 - file1'

관련 정보