Các nhóm chụp bị bỏ qua khi đổi tên tệp


10

Tôi có một số tệp ở định dạng này:

##. ## - Tên tệp.mp4

Tôi muốn đổi tên chúng thành:

s ## e ##. mp4

Đây là những gì tôi nghĩ ra:

đổi tên -n "s / ^ (\ d {2}) \. (\ d {2}). * / s $ 1e $ 2.mp4 /"

Nó hoạt động khi tôi kiểm tra nó trên http://regexr.com/ nhưng khi tôi chạy lệnh trên bản cài đặt Ubuntu 12.04, tất cả các tệp của tôi được đổi tên thànhse.mp4

Vì vậy, có vẻ như các nhóm đang bị bỏ qua hoặc không được chèn hoặc một cái gì đó dọc theo những dòng đó. Tôi đang thiếu một cái gì đó rõ ràng rõ ràng hay là một cái gì đó khác đang xảy ra?

Tôi đã kết thúc việc sử dụng pyRenamer và điều đó đã làm việc tuyệt vời, nhưng tôi vẫn muốn biết tại sao renamekhông hoạt động đúng.

Chúc mừng và cảm ơn vì sự giúp đỡ của bạn.


ý bạn là s1e1.m4, s1e2.mp4
nux

Câu trả lời:


14

Tôi nghĩ có lẽ việc bạn sử dụng dấu ngoặc kép cho phép trình bao mở rộng $1$2

$ rename -nv "s/^(\d{2})\.(\d{2}).*/s$1e$2.mp4/" *.mp4
12.34 File name.mp4 renamed as se.mp4

trong khi đó với dấu ngoặc đơn xung quanh biểu thức đổi tên

$ rename -nv 's/^(\d{2})\.(\d{2}).*/s$1e$2.mp4/' *.mp4
12.34 File name.mp4 renamed as s12e34.mp4

Điều đó là vậy đó! Ngài là một thiên tài.
0x0049
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.