Android

เปลี่ยนชื่อคำสั่งใน linux (เปลี่ยนชื่อหลายไฟล์)

What the Waters Left Behind Trailer 2 (2018) Los Olvidados

What the Waters Left Behind Trailer 2 (2018) Los Olvidados

สารบัญ:

Anonim

การเปลี่ยนชื่อหลายไฟล์และไดเร็กทอรีด้วยคำสั่ง mv อาจเป็นกระบวนการที่น่าเบื่อเนื่องจากเกี่ยวข้องกับการเขียนคำสั่งที่ซับซ้อนด้วยไพพ์, ลูปและอื่น ๆ

นี่คือที่คำสั่ง rename มาสะดวก มันเปลี่ยนชื่อไฟล์ที่กำหนดโดยแทนที่การแสดงออกการค้นหาในชื่อของพวกเขาด้วยการเปลี่ยนที่ระบุ

ในบทช่วยสอนนี้เราจะอธิบายวิธีใช้คำสั่ง rename เพื่อเปลี่ยนชื่อไฟล์เป็นชุด

กำลังติดตั้ง rename

คำสั่ง rename มีสองเวอร์ชันที่มีไวยากรณ์และคุณลักษณะต่างกัน เราจะใช้คำสั่ง rename รุ่น Perl

หากเวอร์ชันนี้ไม่ได้ติดตั้งบนระบบของคุณให้ใช้ตัวจัดการแพ็กเกจของการแจกจ่าย Linux เพื่อติดตั้ง:

  • Ubuntu และ Debian

    sudo apt update sudo apt install rename

    CentOS และ Fedora

    sudo yum install prename

    Arch Linux

    yay perl-rename

ใช้การ rename

ต่อไปนี้เป็นไวยากรณ์ทั่วไปสำหรับคำสั่ง rename :

rename perlexpr files

คำสั่ง rename นั้นเป็นสคริปต์ Perl มันจะเปลี่ยนชื่อ files ที่กำหนดตามการแสดงออกปกติ perlexpr ระบุ คุณสามารถอ่านเกี่ยวกับการแสดงออกปกติ Perl ที่นี่

ตัวอย่างเช่นคำสั่งต่อไปนี้จะเปลี่ยนนามสกุลของไฟล์ .css ทั้งหมดเป็น .css .scss :

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

ลองอธิบายคำสั่งโดยละเอียดเพิ่มเติม:

  • s/search_pattern/replacement/ - ตัวดำเนินการทดแทน .css - รูปแบบการค้นหา เป็นอาร์กิวเมนต์แรกในโอเปอเรเตอร์การทดแทน คำสั่ง rename จะค้นหารูปแบบนี้ในชื่อไฟล์ที่กำหนดและหากพบว่ามันจะแทนที่ด้วยอาร์กิวเมนต์ทดแทน .scss - การเปลี่ยน อาร์กิวเมนต์ที่สองในโอเปอเรเตอร์การแทนที่ *.css - ไฟล์ทั้งหมดที่มีนามสกุล“.css” สัญลักษณ์แทน ( * ) เป็นสัญลักษณ์ที่ใช้แสดงถึงศูนย์หนึ่งตัวอักษรหรือมากกว่า

ก่อนที่จะรันคำสั่งจริงและเปลี่ยนชื่อไฟล์และไดเรกทอรีมันเป็นความคิดที่ดีเสมอที่จะใช้ตัวเลือก -n ที่จะทำการ "เรียกใช้แห้ง" และแสดงให้คุณเห็นว่าไฟล์ใดจะถูกเปลี่ยนชื่อ:

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

ผลลัพธ์จะมีลักษณะดังนี้:

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)

โดยค่าเริ่มต้นคำสั่ง rename ไม่ได้เขียนทับไฟล์ที่มีอยู่ ใช้ตัวเลือก -f ซึ่งบอกให้ rename เพื่อเขียนทับไฟล์ที่มีอยู่:

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

rename -v 's/.css/.scss/' *.css

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

เปลี่ยนชื่อ

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

ข้อสรุป

คำสั่ง rename ช่วยให้คุณสามารถเปลี่ยนชื่อไฟล์หลายไฟล์พร้อมกันโดยใช้ Perl ปกตินิพจน์

เปลี่ยนชื่อสถานี