Thứ Sáu, 28 tháng 7, 2023

Cách sử dụng lệnh rename trong Linux

Trong bài này mình sẽ hướng dẫn cách sử dụng lệnh rename trong Linux, đây là lệnh dùng để đổi tên và thư mục trong Linux, bạn có thể đổi tên số lượng lớn.

Đổi tên cho nhiều file và thư mục bằng lệnh mv là một quá trình rắt rối vì nó liên quan đến các lệnh phức tạp như pipes và các vòng lặp. Nhưng với lệnh rename thì khác, nó đổi tên các file đã cho bằng cách thay thế biểu thức tìm kiếm trong tên bằng từ khóa được chỉ định.

Mục lục

  • 1. Cài đặt rename trong Linux
  • 2. Cách sử dụng lệnh rename trong Linux
  • 3. Các ví dụ lệnh rename trong Linux

1. Cài đặt rename trong Linux

Lệnh rename có hai phiên bản khác nhau hoàn toàn, khác về cả cú pháp, tính năng và cách sử dụng. Trong bài viết này mình sẽ sử dụng version Perl.

Nếu máy tính của bạn chưa có phiên bản này thì hãy sử dụng lệnh atp để cài đặt nhé.

Bài viết này được đăng tại [tranvanbinh.vn]

Ubuntu and Debian
1
2
sudo apt update
sudo apt install rename
CentOS and Fedora
1
sudo yum install prename
Arch Linux
1
yay perl-rename

2. Cách sử dụng lệnh rename trong Linux

Sau đây là cú pháp chung của lệnh đổi tên rename.

1
rename [OPTIONS] perlexpr files

Lệnh rename về cơ bản là một tập lệnh Perl. Nó sẽ đổi tên các file đã cho theo biểu thức chính quy perlexpr được chỉ định. Bạn có thể đọc về biểu thức chính quy Perl tại đây.

Mình cũng có bài viết về cú pháp Regular Expression trong Linux, mời bạn xem qua nhé.

Ví dụ: Lệnh sau sẽ thay đổi phần đuôi mở rộng của tất cả các file .css thành .scss:

1
rename 's/.css/.scss/' *.css

Hãy giải thích một chút về dòng lệnh này nhé:

  • 's/.css/.scss/' là toán tử thay thế, nó gồm có ba phần được phân tích thành s/search_pattern/replacement/. Trong đó:
    • s là từ khóa khai báo search.
    • search_pattern là chuỗi pattern tìm kiếm.
    • replacement là chuỗi sẽ replace cho pattern tìm kiếm.
  • *.css là một lệnh liệt kê tất cả các file kết thúc bằng .css.

Trước khi chạy lệnh trên để đổi tên thì bạn hãy xem kỹ lại một lần nữa bằng cách thêm tùy chọn -n, nó sẽ liệt kê những file sẽ được đổi tên, nếu bạn tháy ok thì hãy chạy lại lệnh trên.

1
rename -n 's/.css/.scss/' *.css

Kết quả sẽ có dạng như sau:

1
2
3
4
5
rename(file-0.css, file-0.scss)
rename(file-1.css, file-1.scss)
rename(file-2.css, file-2.scss)
rename(file-3.css, file-3.scss)
rename(file-4.css, file-4.scss)

Theo mặc định thì nếu bạn chọn một cái tên đã tồn tại trên hệ thống thì lệnh này sẽ không overwrite lại nội dung của file đó. Nếu bạn muốn overwrite lại thì hãy thêm tùy chọn -f nhé.

1
rename -f 's/.css/.scss/' *.css

Nếu bạn muốn in kết quả trả về tê những file bị đổi tên thì hãy thêm tùy chọn -v.

1
2
3
4
5
file-0.css renamed as file-0.scss
file-1.css renamed as file-1.scss
file-2.css renamed as file-2.scss
file-3.css renamed as file-3.scss
file-4.css renamed as file-4.scss

3. Các ví dụ lệnh rename trong Linux

Dưới đây là một vài ví dụ phổ biến về cách sử dụng lệnh rename Linux.

Thay thế khoảng trắng bằng dấu gạch dưới trong tên file:

1
rename 'y/ /_/' *

Chuyển đổi tên file chữ in thường:

1
rename 'y/A-Z/a-z/' *

Chuyển đổi tên file thành chữ in hoa:

1
rename 'y/a-z/A-Z/' *

Xóa chuỗi .bak ở phần cuối cùng của tên file.

1
rename 's/\.bak$//' *.bak

Chuyển phần mở rộng .jpeg và .JPG thành .jpg.

1
rename 's/\.jpe?g$/.jpg/i' *

Như vậy lệnh rename thực sự rất hữu ích trong Linux, nó giúp chúng ta đổi tên cho file một cách nhanh chóng và đổi trong số lượng lớn.

=============================
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master