Giới thiệu
Trong lab này, bạn sẽ học cách sử dụng lệnh mren
, một công cụ mạnh mẽ để đổi tên nhiều file trong Linux. Lệnh mren
cho phép bạn đổi tên file dựa trên các pattern, biến nó thành một công cụ hữu ích cho các thao tác đổi tên file hàng loạt. Bạn sẽ khám phá cách sử dụng cơ bản của mren
và học cách tận dụng regular expressions cho các tác vụ đổi tên file nâng cao hơn.
Lab này bao gồm các chủ đề sau: Giới thiệu về lệnh mren
, Đổi tên nhiều file với mren
và Sử dụng mren
nâng cao với Regular Expressions. Đến cuối lab này, bạn sẽ có thể quản lý và sắp xếp file của mình một cách hiệu quả bằng cách sử dụng lệnh mren
.
Giới thiệu về lệnh mren
Trong bước này, bạn sẽ tìm hiểu về lệnh mren
, một công cụ mạnh mẽ để đổi tên nhiều file trong Linux. Lệnh mren
cho phép bạn đổi tên file dựa trên các pattern, biến nó thành một công cụ hữu ích cho các thao tác đổi tên file hàng loạt.
Đầu tiên, hãy tạo một số file mẫu để làm việc:
cd ~/project
touch file1.txt file2.txt file3.txt file4.txt file5.txt
Ví dụ đầu ra:
labex@ubuntu:~/project$ ls
file1.txt file2.txt file3.txt file4.txt file5.txt
Bây giờ, hãy sử dụng lệnh mren
để đổi tên các file này. Cú pháp cơ bản của mren
là:
mren 'pattern' 'replacement' files...
Ở đây, pattern
là search pattern để match các file và replacement
là định dạng tên mới.
Ví dụ: để đổi tên tất cả các file có tiền tố "file" thành "myfile":
mren 'file(\d+).txt' 'myfile\1.txt' *.txt
Ví dụ đầu ra:
labex@ubuntu:~/project$ ls
myfile1.txt myfile2.txt myfile3.txt myfile4.txt myfile5.txt
Như bạn có thể thấy, lệnh mren
đã đổi tên tất cả các file có tiền tố "file" thành "myfile" với số tương ứng.
Lệnh mren
hỗ trợ regular expressions, cho phép các thao tác đổi tên file nâng cao hơn. Chúng ta sẽ khám phá điều này trong bước tiếp theo.
Đổi tên nhiều file với mren
Trong bước này, chúng ta sẽ khám phá các trường hợp sử dụng nâng cao hơn của lệnh mren
để đổi tên nhiều file.
Hãy bắt đầu bằng cách tạo một số file mẫu với các quy ước đặt tên khác nhau:
cd ~/project
touch file001.txt file002.txt file003.txt
touch image01.jpg image02.jpg image03.jpg
Ví dụ đầu ra:
labex@ubuntu:~/project$ ls
file001.txt file002.txt file003.txt image01.jpg image02.jpg image03.jpg
Bây giờ, giả sử chúng ta muốn đổi tên tất cả các file "file" để có định dạng nhất quán, như "myfile_001.txt", "myfile_002.txt", v.v. Chúng ta có thể sử dụng lệnh mren
với regular expressions để đạt được điều này:
mren 'file(\d+).txt' 'myfile_\1.txt' *.txt
Ví dụ đầu ra:
labex@ubuntu:~/project$ ls
myfile_001.txt myfile_002.txt myfile_003.txt image01.jpg image02.jpg image03.jpg
Tương tự, hãy đổi tên tất cả các file hình ảnh để có định dạng nhất quán, như "image_01.jpg", "image_02.jpg", v.v.:
mren 'image(\d+).jpg' 'image_\1.jpg' *.jpg
Ví dụ đầu ra:
labex@ubuntu:~/project$ ls
myfile_001.txt myfile_002.txt myfile_003.txt image_01.jpg image_02.jpg image_03.jpg
Lệnh mren
cho phép bạn sử dụng capture groups trong regular expression pattern để tham chiếu các phần của tên file trong replacement. Điều này biến nó thành một công cụ mạnh mẽ cho các thao tác đổi tên file phức tạp.
Sử dụng mren nâng cao với Regular Expressions
Trong bước cuối cùng này, chúng ta sẽ khám phá một số trường hợp sử dụng nâng cao hơn của lệnh mren
, tận dụng sức mạnh của regular expressions.
Hãy bắt đầu bằng cách tạo một tập hợp các file có cấu trúc tên phức tạp hơn:
cd ~/project
touch report_2023-01-01.txt report_2023-01-02.txt report_2023-01-03.txt
touch report_2023-02-01.txt report_2023-02-02.txt report_2023-02-03.txt
touch report_2023-03-01.txt report_2023-03-02.txt report_2023-03-03.txt
Ví dụ đầu ra:
labex@ubuntu:~/project$ ls
report_2023-01-01.txt report_2023-02-01.txt report_2023-03-01.txt
report_2023-01-02.txt report_2023-02-02.txt report_2023-03-02.txt
report_2023-01-03.txt report_2023-02-03.txt report_2023-03-03.txt
Bây giờ, giả sử chúng ta muốn đổi tên các file này để có định dạng nhất quán hơn, như "report_2023_01_01.txt", "report_2023_02_01.txt", v.v. Chúng ta có thể sử dụng lệnh mren
với một regular expression pattern phức tạp hơn:
mren 'report_(\d{4})-(\d{2})-(\d{2}).txt' 'report_\1_\2_\3.txt' *.txt
Ví dụ đầu ra:
labex@ubuntu:~/project$ ls
report_2023_01_01.txt report_2023_02_01.txt report_2023_03_01.txt
report_2023_01_02.txt report_2023_02_02.txt report_2023_03_02.txt
report_2023_01_03.txt report_2023_02_03.txt report_2023_03_03.txt
Trong ví dụ này, regular expression pattern 'report_(\d{4})-(\d{2})-(\d{2}).txt'
capture các thành phần năm, tháng và ngày của tên file, và chuỗi replacement 'report_\1_\2_\3.txt'
sử dụng các capture groups này để xây dựng định dạng tên file mới.
Lệnh mren
là một công cụ mạnh mẽ có thể xử lý nhiều tác vụ đổi tên file, từ đổi tên hàng loạt đơn giản đến các thao tác phức tạp bằng regular expressions. Bằng cách nắm vững lệnh mren
, bạn có thể hợp lý hóa quy trình quản lý file của mình và tiết kiệm thời gian cho các tác vụ lặp đi lặp lại.
Tóm tắt
Trong lab này, bạn đã tìm hiểu về lệnh mren
, một công cụ mạnh mẽ để đổi tên nhiều file trong Linux. Bạn bắt đầu bằng cách tạo các file mẫu và sau đó sử dụng mren
để đổi tên chúng dựa trên các pattern, bao gồm cả việc sử dụng regular expressions cho các thao tác đổi tên file nâng cao hơn. Lệnh mren
cho phép bạn đổi tên hàng loạt file một cách hiệu quả, khiến nó trở thành một công cụ có giá trị cho các tác vụ quản lý file.
Lab bao gồm cú pháp cơ bản của lệnh mren
, trình bày cách đổi tên file với một tiền tố hoặc pattern cụ thể. Ngoài ra, bạn đã khám phá việc sử dụng regular expressions với mren
, cho phép các kịch bản đổi tên file phức tạp hơn, chẳng hạn như thêm định dạng nhất quán vào tên file.