คำถามติดแท็ก batch-rename

การเปลี่ยนชื่อแบทช์เป็นรูปแบบหนึ่งของการประมวลผลแบบแบตช์ที่ใช้เพื่อเปลี่ยนชื่อไฟล์และโฟลเดอร์คอมพิวเตอร์หลาย ๆ ไฟล์ในแบบอัตโนมัติ

2
หลีกเลี่ยงการแทนที่ช่องว่างเมื่อเปลี่ยนชื่อไฟล์
ฉันพยายามเปลี่ยนชื่อไฟล์เช่นนี้: for file in *; do mv -i "$file" "$(echo "$file" | sed -e 's/[^A-Za-z0-9._-]/_/g')"; done แต่คำสั่งแทนที่ช่องว่างทั้งหมดที่มีsed_ ฉันจะแก้ไขsedคำสั่งเพื่อทำให้เป็นช่องว่างพร้อมกับอักขระที่ระบุได้อย่างไร ฉันลองใช้\sแล้วแต่ไม่ได้ผล ... แก้ไข: ตัวอย่างเช่นไฟล์trip: hill, ควรจะเปลี่ยนชื่อ: แต่คำสั่งดังกล่าวทำให้มันtrip_ hilltrip__hill

2
เปลี่ยนชื่อไฟล์ด้วยคำสั่งหนึ่งบรรทัด
ฉันมีไดเรกทอรีนี้และต้องการเปลี่ยนชื่อไฟล์: ===> ls -1 Der-vierte-Weise/ 10 - 10 - Erkenntniss.ogg 1 - 01 - Hoffnung.ogg 11 - 11 - Wahrheit.ogg 12 - 12 - Dankbarkeit.ogg 13 - 13 - Kredits.ogg 2 - 02 - Familie.ogg 3 - 03 - Demut.ogg 4 - 04 - Freude.ogg 5 - 05 - Schoenheit.ogg …

2
Batch Rename Files ในโฟลเดอร์
ฉันจะดึงข้อความบางส่วนออกจากชื่อไฟล์ในโฟลเดอร์ได้อย่างไร ฉันกำลังพยายาม: rename s/"NEWER_(.*?)"//g * แต่มันก็ไม่ได้รับการเปลี่ยนชื่อ ฉันมีโฟลเดอร์พาเรนต์ซึ่งมีโฟลเดอร์ย่อยมากมายอยู่ภายในคือไฟล์ที่ OneDrive คิดว่าเป็นความคิดที่ดีในการผนวก "(NEWER_timestamp)" ต่อท้ายและฉันต้องการลบออก ตัวอย่างชื่อไฟล์: getyou.ico (NEWER_1417529079.87) o7pm.ico (NEWER_1417529184.89) o7th.ico (NEWER_1417529135.81)

6
ฉันจะติดตั้ง pyrenamer สำหรับไบโอนิคได้อย่างไร?
pyrenamer เป็นเครื่องมือเปลี่ยนชื่อไฟล์ที่ยอดเยี่ยม แต่ฉันไม่พบมันในที่เก็บสำหรับ 18.04 Bionic Beaver หรือ PPA ฉันใช้มันตลอดเวลาเพื่อเปลี่ยนชื่อภาพภาพถ่ายก่อนนำเข้าสู่ระบบการจัดการห้องสมุดภาพ Shotwell โดยเฉพาะอย่างยิ่งฉันใช้รูปแบบเพื่อรับชื่อในรูปแบบ yyyymmdd รวมถึงวันในสัปดาห์ (มันง่ายมากที่จะจำวันของสัปดาห์หนึ่งที่เข้าเยี่ยมชมสวนสัตว์) และชื่อรุ่นของกล้องที่ใช้ ~สัญลักษณ์ช่วยถ้าใครต้องการที่จะค้นหาและแทนที่เพื่อกลับไปใช้ชื่อไฟล์ภาพต้นฉบับ ดู: {imageyear}{imagemonth}{imageday}_{imagedaysimp}_{imagehour}{imageminute}{imagesecond}_{cameramodel}~{1} หาก PPA พร้อมให้บริการสำหรับ 18.04 โปรดแจ้งที่นี่

3
วิธีเปลี่ยนชื่อกลุ่มของไฟล์ด้วยสิ่งที่ดูเหมือนพา ธ ไฟล์ Windows ในชื่อของพวกเขา
ฉันได้รับไฟล์จำนวนมากโดยที่ชื่อไฟล์มีปัญหา ชื่อไฟล์ทั้งหมดมีจุดเริ่มต้นเหมือนกันซึ่งดูเหมือนจะเป็นไดเรกทอรีไฟล์ของ windows ปัญหาคือมีไฟล์มากกว่า 700 ไฟล์และฉันไม่ต้องการให้เปลี่ยนชื่อทั้งหมดด้วยตนเอง นี่คือตัวอย่างของชื่อไฟล์ (หมายเหตุ: ไม่มีในเหล่านี้มีไดเรกทอรีไฟล์): G:some\really\long\file\path\then\the\name1.jpg G:some\really\long\file\path\then\the\name2.png G:some\really\long\file\path\then\the\filename.txt G:some\really\long\file\path\then\the\file_name.mov ... สิ่งสำคัญที่ต้องนำออกไปคือไฟล์แต่ละไฟล์มีG:some\really\long\file\path\then\the\ก่อนชื่อไฟล์ที่ฉันต้องการ ดังนั้นฉันต้องการไฟล์ดังกล่าวเป็นดังนี้: name1.jpg name2.png filename.txt file_name.mov ฉันลองrenameคำสั่งแล้ว แต่ไม่สำเร็จ ฉันยังใหม่กับ Linux และฉันไม่แน่ใจว่าจะไปเกี่ยวกับเรื่องนี้หรือสิ่งที่จะ google ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม

5
ต่อท้ายข้อความในชื่อไฟล์ที่ไม่มีจุด
รับไฟล์ต่อไปนี้: english_api english_overview style.css ฉันอยากจะได้: english_api.html english_overview.html style.css กล่าวอีกนัยหนึ่งวิธีผนวกข้อความไปยังไฟล์ทั้งหมดที่ไม่มีจุด ( .) ภายในไดเรกทอรีโดยใช้เทอร์มินัล เห็นได้ชัดว่ามีไฟล์จำนวนมากในโฟลเดอร์นั้น ฉันเพิ่งเขียน 3 เป็นตัวอย่าง ถ้าฉันจะบอกว่าแทนที่.cssด้วย.htmlในโฟลเดอร์นั้นฉันจะใช้: rename .css .html *.css แต่ฉันไม่สามารถคิดถึงวิธีจับคู่ไฟล์ที่ไม่มีบางสิ่งได้ นอกจากนี้วิธีการผนวก (vs replace) โดยใช้renameคำสั่ง?

5
การเปลี่ยนชื่อภาพตามลำดับเฉพาะ
นี่คือปัญหาของฉัน: ฉันมีโฟลเดอร์ที่มี 500 ภาพชื่อ: 1.jpg 2.jpg 3.jpg และอื่น ๆ .. ฉันคัดลอกโฟลเดอร์นั้นและตอนนี้ฉันต้องการเปลี่ยนชื่อรูปภาพเดียวกันจาก 501 เป็น 1,000 แต่ตามลำดับดังนี้: 1.jpg becomes 501.jpg 2.jpg becomes 502.jpg 3.jpg becomes 503.jpg .... เมื่อฉันใช้คำสั่งเปลี่ยนชื่อมาตรฐานของฉัน: i=501;for img in $(find . -iname '*.jpg'); do echo -n "Converting $img"; mv $img $i.jpg && echo $i && ((i++)); done มันสั่งรูปภาพตั้งแต่ 501 ถึง …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.