정규식을 사용하여 파일 이름을 재귀적으로 바꾸는 방법

정규식을 사용하여 파일 이름을 재귀적으로 바꾸는 방법

내 하드 드라이브에는 다음으로 시작하는 많은 디렉터리와 하위 디렉터리가 있는 수백 개의 파일이 있습니다.

1.1,,,,,,,,,,, 등 ...1.21.32.13.19.110.110.2

문제는 내가 그것들을 나열하면 다음과 같이 보인다는 것입니다: 10.1, 10.2, 1.1, 1.2등.

1-10은 마침표 앞에 오므로 , 2-1, 등을 9-1나열 하려면 두 숫자 사이의 마침표를 하이픈으로 바꿔 이런 식으로 시작하는 모든 파일의 이름을 바꿔야 합니다 .10-111-1

나는 내 음악 및 비디오 파일 이름을 ,,,로 지정했는데, 01-01.ext이는 매우 효과적이어서 수백 개의 파일에 마침표를 사용하여 이름을 지정하는 선배의 순간을 가졌습니다. 01-02.ext|01-10.ext02-01.ext

나는 이 질문에 대한 답을 찾으려고 노력했지만 그것은 나에게 필요한 것이 아니거나 이해하기에는 너무 혼란스러웠습니다...

저는 Linux Mint 20.3 Una를 사용하고 있습니다. 나는 터미널에서 내 하드 드라이브의 루트에 가서(테스트용 더미 파일과 함께!!) 다음과 같은 다양한 조합을 시도해 보았습니다.
's,^[0-9]\.[0-9]*',[0-9]\-[0-9]*.*하지만 이것은 모두 시행착오에 불과합니다(그리고 확실히 잘못될 것입니다!) 모르겠어요 내가 이것을 스스로 알아내는 데 충분할 수있는 곳이면 어디든 가능합니다.

이 질문에 대한 답변이 어딘가에 있을 것이라고 확신하지만, 어디에 있는지 찾을 수 없습니다!

처음으로, 팁을 주셔서 감사합니다.

Linux PC가 아닌 다른 장치에서 DVD 프로그램을 시청하면 순서대로 나열될 수도 있지만 그렇지 않을 수도 있습니다. 따라서 이상적으로는 하드 드라이브의 모든 위치에서 파일 이름을 변경하고 싶습니다. 이는 이러한 유형의 일반적인 목록입니다.

-rwxrwxrwx 1 root root 222647532 Jun  4  2010 5.9 Mr Chairman.mp4
-rwxrwxrwx 1 root root 229849021 Jun  5  2010 6.10 Well Well Well.mp4
-rwxrwxrwx 1 root root 236174416 Jun  5  2010 6.11 The Phantom Pools Winner.mp4
-rwxrwxrwx 1 root root 242440279 Jun  5  2010 6.12 A Matter Of Principle.mp4
-rwxrwxrwx 1 root root 229969047 Jun  5  2010 6.13 Some Enchanted Evening.mp4
-rwxrwxrwx 1 root root 244241841 Jun  4  2010 6.1 The Frozen Limit.mp4
-rwxrwxrwx 1 root root 239823201 Jun  4  2010 6.2 Beautiful Dreamer.mp4
-rwxrwxrwx 1 root root 231566965 Jun  4  2010 6.3 Fish With Everything.mp4  

이와 같은 것이 내가 찾고 있는 것일 수도 있습니다.

rename -n 's/\./-/' * 

하지만 파일 이름 자체에 마침표(확장자만 있는 경우)가 포함되므로 숫자 사이에 마침표를 가져와야 합니다. 즉: 02.01.05 Mr. Baz.mp4.

내 원래 질문은 진흙처럼 명확했습니다. 조금 더 명확해지기를 바랍니다.

답변1

실제로 질문에 대답하는 방법은 아니지만 이 질문을 넘어서 GNU가 있는 시스템에서는 "자연스러운" 순서로 파일을 나열하는 ls데 사용할 수 있습니다 . 문서()의 내용은 ls -v다음과 같습니다 .man ls

-v텍스트에서 (버전) 번호의 자연스러운 순서

여기에 예가 있습니다.

mkdir /tmp/737361
cd /tmp/737361
touch 1.1 1.2 1.3 2.1 3.1 9.1 10.1 10.2

첫 번째,

ls
1.1  1.2  1.3  10.1  10.2  2.1  3.1  9.1

하지만,

ls -v
1.1  1.2  1.3  2.1  3.1  9.1  10.1  10.2

관련 정보