Hướng dẫn sử dụng: Sử dụng lệnh đổi tên trên Linux
Bạn đã bao giờ thử sử dụng lệnh đổi tên trên chưa Linux ? Bạn có muốn nắm bắt được sức mạnh đổi tên tệp của thế giới Linux và cung cấp mv —và chính bạn — phần còn lại. Đổi tên nhanh chóng, linh hoạt và dễ dàng hơn. Dưới đây là hướng dẫn chi tiết về sức mạnh của lệnh này.
Điều gì sẽ sai với mv?
Không có gì sai với mv . Tuy nhiên, lệnh hoạt động tốt. Ngoài ra, bạn có thể tìm thấy nó trên tất cả các bản phân phối Linux, trong macOS và trong hệ điều hành giống Unix khác. Tuy nhiên, nó luôn có sẵn. Nhưng chắc chắn, bạn không muốn một cái xẻng mà cần một chiếc máy ủi.
Lệnh mv có một mục đích trong cuộc sống và đó là di chuyển tệp. Đó là một tác dụng phụ an toàn mà nó có thể được sử dụng để di chuyển một tệp cũ hơn thành tệp mới, với một tên mới. Tác dụng là đổi tên tệp, vì vậy bạn sẽ có được những gì bạn muốn. Nhưng mv không phải là một công cụ đổi tên tệp tùy chỉnh.
Cách đổi tên một tệp đơn bằng mv

Nếu bạn muốn sử dụng mv để đổi tên tệp rồi nhập mv, khoảng trắng, tên tệp, khoảng trắng và tên mới mà bạn muốn tệp có. Sau đó nhấn Enter.
Bạn cũng có thể sử dụng ls để kiểm tra xem tệp có được đổi tên hay không
mv renameCách đổi tên nhiều tệp bằng mv
Mọi thứ trở nên phức tạp sau khi đổi tên nhiều tệp. perl-rename không có khả năng đối phó với việc đổi tên các tệp khác nhau. Bạn phải sử dụng một số thủ thuật Bash hữu ích. Sẽ rất tốt nếu bạn biết một số dòng lệnh cấp trung bình nhưng khó đổi tên các tệp khác nhau với mv chỉ là sự dễ sử dụng mv để đổi tên một tệp duy nhất.
Mọi thứ leo thang ngay lập tức.
Giả sử đây là một thư mục có rất nhiều tệp trong đó, thuộc các loại khác nhau. Một số tệp có .ăn xin sự mở rộng. Chúng tôi muốn đổi tên các tệp đó tại dòng lệnh để chúng có .prg sự mở rộng.
Hãy cùng xem qua các tệp.
renameĐây là một phương pháp để làm điều đó mà không thể sử dụng đến việc viết tệp tập lệnh Bash thực tế.
renameNó đã hoạt động hay không? Hãy kiểm tra các tệp và sau đó tiếp tục.
renameVì vậy, nó hoạt động tốt. Tất cả họ là .prg các tập tin bây giờ và không có .ăn xin các tệp trong thư mục.
Chuyện gì đã xảy ra?
Lệnh dài thực sự làm gì? Hãy cùng kiểm tra nào.
prenamePhần đầu tiên bắt đầu một vòng lặp sẽ xử lý mọi .ăn xin đến lượt tệp trong thư mục.
Một phần khác cho biết quá trình xử lý sẽ làm . Nó sử dụng mv để chuyển từng tệp sang tệp mới. Tên tệp mới sẽ khá giống với tên của tệp gốc ngoại trừ phần .prog. Ngoài ra, phần mở rộng của .prg sẽ được sử dụng.
Đây là một cách dễ dàng
Chắc chắn nhất. Đây là đổi tên chỉ huy.

Nó không phải là một phần của bản phân phối Linux tiêu chuẩn, vì vậy bạn muốn cài đặt nó. Ngoài ra, nó có một tên khác trong các dòng Linux khác nhau, nhưng chúng đều hoạt động theo cách giống nhau. Bạn chỉ cần thay thế tên lệnh chính xác theo sở thích của Linux mà bạn đang sử dụng.
Trong các bản phân phối Debian có nguồn gốc từ Debian hoặc Ubuntu, bạn chỉ cần cài đặt perl-rename như thế này:
*.progTrong các bản phân phối có nguồn gốc từ RedHat hoặc Fedora, bạn chỉ cần cài đặt tên trước như thế này. Hãy nhớ rằng p đầu tiên, là viết tắt của Perl.
renameĐể cài đặt nó trong Manjaro Linux, hãy sử dụng lệnh sau. Hãy nhớ rằng lệnh đổi tên được gọi là s.
.progSử dụng đổi tên Command -> Come Let’s One More Try
Ở đây chúng tôi sẽ sử dụng rename. Chúng tôi đang làm điều này để chúng tôi có một tập hợp các tệp .prog.
.prgHãy sử dụng lệnh dưới đây để đổi tên chúng. Chúng tôi cũng sẽ kiểm tra với ls lệnh cho dù nó hoạt động hay không. Nếu bạn muốn thay thế rename với tên lệnh chính xác cho Linux nếu không thể sử dụng Ubuntu hoặc Linux có nguồn gốc từ Debian.
ls lsNó hoạt động tốt, bây giờ tất cả đều là tệp .prg ngoại trừ .ăn xin các tập tin còn lại trong thư mục.
Chuyện gì đã xảy ra ở đây?
Hãy thảo luận về nó trong ba phần.
bên trong Đầu tiên một phần, bạn sẽ thấy tên lệnh, rename (hoặc ls hoặc ls, đối với các bản phân phối khác).
Thứ ba Cuối cùng một phần là ^, giải thích $ để hoạt động trên tất cả các tệp .prog.
Các thứ hai phần giải thích công việc chúng tôi muốn thực hiện trên mỗi tên tệp. ^ có nghĩa là thay thế. Số hạng thứ 1 (ls) là gì ls sẽ tìm kiếm trong mỗi tên tệp và số hạng thứ 2 (ls) là số hạng sẽ được thay thế bằng.
làm thế nào để xóa một kênh văn bản trong mối bất hòa
Các lệnh phần giữa hoặc biểu thức trung tâm là một ‘biểu thức chính quy‘ của Perl và nó là thứ cung cấp s/ chỉ huy độ tin cậy của nó.
Sửa đổi các phần khác của tên tệp
Chúng tôi đã sửa đổi phần mở rộng tên tệp cho đến nay, hãy thay đổi các phần khác của tên tệp.
Trong thư mục, có rất nhiều tệp mã nguồn C. Tất cả các tên tệp đều có tiền tố tiếng lóng_. Chúng ta cũng có thể kiểm tra điều này bằng y/.
a-zỞ đây chúng tôi thay thế tất cả các lần xuất hiện của slang_ bằng sl_. Định dạng lệnh khá quen thuộc với chúng ta. Chúng tôi chỉ đang sửa đổi cụm từ tìm kiếm, cụm từ thay thế và loại tệp.
A-ZỞ đây chúng tôi đang tìm kiếm các tệp .c và tìm kiếm slang_. Bất cứ khi nào bạn tìm thấy slang_ trong tên tệp, nó sẽ được thay thế bằng sl_.
Bạn cũng có thể kiểm tra kết quả lệnh sau khi lặp lại lệnh ls từ phía trên bằng cách sử dụng các thông số tương tự:
a-zLoại bỏ một phần của tên tệp
Chúng tôi cũng có thể xóa một phần của tên tệp sau khi thay thế cụm từ tìm kiếm mà không có gì.
mv oldfile.txt newfile.txt
Chúng tôi cũng có thể xem từ ls ra lệnh rằng của chúng tôi .c tất cả các tệp đều được thêm vào trước bằng sl_. Hãy để điều đó hoàn toàn.
Các đổi tên lệnh theo cùng một định dạng như đã đề cập ở trên. Chúng tôi sẽ tìm kiếm các tệp .c. Cụm từ tìm kiếm là sl_, nhưng không có cụm từ thay thế. Hai dấu gạch chéo ngược ‘//’ không có bất kỳ thứ gì giữa chúng có nghĩa là một chuỗi rỗng.
ls *.txtcó thể xử lý lần lượt từng tệp .c. Ngoài ra, nó tìm kiếm sl_ trong tên tệp. Nếu bạn tìm thấy nó, bạn có thể được thay thế bằng không. Ngoài ra, cụm từ tìm kiếm sẽ bị xóa.
Một cách sử dụng khác của dấu
ls *.prog -llệnh xác nhận rằng tiền tố sl_ đã bị xóa khỏi mọi tệp .c.
Giới hạn sửa đổi đối với các phần cụ thể của tên tệp
Hãy đến để sử dụng
for f in *.prog; do mv -- '$f' '${f%.prog}.prg' để xem các tệp có tham số chuỗi trong tên tệp của chúng. Sau đó, chúng tôi sẽ sử dụng đổi tên lệnh thay thế chuỗi thông qua tham số chuỗi. Ngoài ra, chúng tôi sử dụng ls một lần nữa để xem hiệu ứng đổi tên lệnh đã có trên các tệp đó.ls *.pr*
for f in *.prog; do mv -- '$f' '${f%.prog}.prg' sudo apt-get install rename
Sau đó, bạn sẽ thấy bốn tệp có dừng lại trong tên tệp của họ. param.c, param_one.c và param_two.c đều có dừng lại tại bắt đầu tên của họ. third_param.c có dừng lại tại Cuối cùng tên của nó, ngay trước phần mở rộng.
Bạn có thể tìm kiếm đổi tên lệnh cho tham số ở mọi nơi trong tên tệp. Sau đó, bạn có thể thay thế nó bằng tham số trong mọi trường hợp.
Một cách sử dụng khác của ls lệnh hiển thị cho chúng ta biết chính xác những gì đã xảy ra. Liệu dừng lại ở đầu hoặc ở cuối tên tệp. Bạn cũng có thể thay thế nó bằng một tham số.
Chúng tôi có thể sử dụng siêu ký tự của Perl để làm sạch hành vi của biểu thức trung tâm. Siêu ký tự là các dấu hiệu đại diện cho trình tự hoặc vị trí của các ký tự. Ví dụ,
sudo dnf install prenamecó nghĩa là bắt đầu một chuỗi, (.) có nghĩa là bất kỳ ký tự đơn nào (ngoài ký tự dòng mới),
sudo pacman -Syu perl-renamecó nghĩa là kết thúc của một chuỗi.
Ngoài ra, chúng tôi sử dụng phần đầu của siêu ký tự chuỗi (
ls *.prog) để giới hạn tìm kiếm của chúng tôi ở phần đầu của tên tệp.
rename 's/.prog/.prg/' *.prog
ls *.pr*
ls sl*.c
rename 's/slang_/sl_' *.c
Các tệp chúng tôi đã đổi tên đã được liệt kê trước đây. Ngoài ra, chúng ta có thể xem tham số chuỗi nằm ở đầu 3 tên tệp và nó nằm ở cuối một trong các tên tệp.
Của chúng tôi đổi tên lệnh sử dụng đầu của siêu ký tự dòng (^) trước tham số cụm từ tìm kiếm. Nó giải thích rằng chỉ cần xem xét cụm từ tìm kiếm được tìm thấy nếu nó nằm ở đầu tên tệp. Tham số chuỗi tìm kiếm sẽ bị tránh nếu nó nằm ở bất kỳ vị trí nào khác trong tên tệp.
Nhìn với
ls sl*.c, sau đó chúng ta có thể thấy rằng tên tệp có tham số tại Cuối cùng của tên tệp không được thay đổi. Nhưng ba tên tệp có tham số tại bắt đầu tên của họ có chuỗi tìm kiếm được thay thế bằng giá trị cụm từ thay thế.
Các đổi tên sức mạnh nằm trong sức mạnh của Perl.
Tìm kiếm với các nhóm
Đây là trường hợp mà bạn có thể có các tệp có cùng chuỗi trong tên của chúng. Chúng không giống nhau hoàn toàn các chuỗi giống nhau, vì vậy bạn chỉ cần tìm kiếm và thay thế không thể hoạt động ở đây.
Trong ví dụ này, chúng tôi sử dụng
ls *.c rename 's/sl_//' *.c ls *.cđể xem chúng tôi có những tệp nào bắt đầu bằng str. Ngoài ra, có hai trong số chúng, string.c và Strale.c. Chúng ta cũng có thể đổi tên cả hai chuỗi sau khi sử dụng một phương thức được gọi là nhóm.
Biểu thức giữa của đổi tên lệnh sẽ tìm kiếm các chuỗi trong tên tệp có chuỗi ký tự Stri hoặc là đi lạc. Ở đây các trình tự này được theo sau bởi ng. Ngoài ra, cụm từ tìm kiếm của chúng tôi sẽ tìm kiếm chuỗi và thắt cổ. Thuật ngữ thay thế là tiếng nổ.
ls *param*
rename 's/param/parameter' *.c
ls *param*
Sau khi sử dụng
ls *param*.cmột lần khác xác nhận rằng string.c đã trở thành bang.c và Strale.c bây giờ là bangle.c.
Sử dụng đổi tên Command With Translations
Các đổi tên lệnh thực hiện tất cả các hành động trên tên tệp được gọi là bản dịch. Dưới đây là một ví dụ về bản dịch buộc một tập hợp các tên tệp thành chữ hoa.
bên trong đổi tên lệnh đưa ra bên dưới thông báo rằng chúng tôi không sử dụng
rename 's/^parameter/value/' *.cđể bắt đầu biểu thức giữa, chúng tôi đang sử dụng
ls *param*.c. Nó giải thích rằng lệnh không thể thực hiện thay thế; chúng tôi đang thực hiện một bản dịch.
Thuật ngữ
ls value*.clà một biểu thức Perl. Có nghĩa là tất cả các ký tự viết thường trong dãy từ a đến z. Nhưng, thuật ngữ
ls str*.cđại diện cho tất cả các chữ cái viết hoa trong dãy từ A đến Z.
Biểu thức giữa trong lệnh này có thể được diễn giải như thể bất kỳ chữ cái thường nào từ a đến z được tìm thấy trong tên tệp. Nó thay thế chúng bằng cách sử dụng các ký tự tương ứng theo thứ tự các ký tự viết hoa từ A đến Z.
Nếu bạn muốn buộc tên tệp của tất cả các tệp .prg thành chữ hoa, chỉ cần sử dụng lệnh sau:
đổi tên ‘y / a-z / A-Z /’ * .prg
rename 's/(stri|stra)ng/bang/' *.c
Lệnh
ls ban*.ccho chúng tôi thấy rằng tất cả .prg các tệp phần mở rộng bây giờ được viết hoa. Ngoài ra, để hoàn toàn chính xác, chúng không .prg các tập tin nữa. Chúng là tệp .PRG. Đảm bảo rằng Linux có phân biệt chữ hoa chữ thường.
Chúng ta cũng có thể đảo ngược lệnh cuối cùng đó sau khi quay trở lại vị trí của dấu
ls *.PRGvà từ A-Z trong biểu thức giữa.
đổi tên ‘y / A-Z / a-z /’ * .PRG
ls * .prg
Bạn không thể học Perl trong năm phút
Nắm bắt được sự hiểu biết với Perl là thời gian dành cho bạn. Nhưng để bắt đầu sử dụng khả năng tiết kiệm thời gian của đổi tên lệnh, bạn không nên có nhiều kiến thức về Perl để đạt được lợi thế lớn về quyền lực.
Phần kết luận:
Dưới đây là tất cả về 'Sử dụng đổi tên Command Trên Linux'. Quan điểm của bạn về nó là gì? Nếu bạn muốn chia sẻ bất kỳ phương pháp hoặc thủ thuật nào khác liên quan đến bài viết, hãy cho chúng tôi biết bên dưới. Nếu có thêm thắc mắc và câu hỏi, hãy cho chúng tôi biết trong phần bình luận bên dưới!
Cũng đọc:


