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

นี่คือเครื่องมือ perl ที่สามารถใช้เพื่อเปลี่ยนชื่อไฟล์หลายไฟล์โดยใช้นิพจน์ Perl หากคุณจะถามเกี่ยวกับการเปลี่ยนชื่อไฟล์หลายไฟล์ให้ใช้ filemanager ที่คุณใช้อยู่เช่น Nautilus, Nemo หรือแท็กบรรทัดคำสั่ง

4
แทนที่โคลอนทั้งหมดจากชื่อไฟล์ด้วยเทอร์มินัล
ฉันมีค่า GB ของเพลงบน HDD ที่ฟอร์แมตด้วย EXT4 ฉันต้องการย้ายไฟล์เหล่านี้ไปยังพาร์ติชัน HDD ที่ฟอร์แมตด้วย FAT อย่างไรก็ตามฉันไม่สามารถย้ายไฟล์ส่วนใหญ่เนื่องจากมี ":" ในชื่อ (ตัวอย่างเช่น "Act 2: ..... " สำหรับโอเปร่า) มีวิธีที่บรรทัดคำสั่งเพื่อเปลี่ยนชื่อไฟล์ทั้งหมดของฉันจาก "XXXX: XXXX" เป็น "XXXX-XXXX" หรือไม่?

2
การเปลี่ยนชื่อหยุดทำงานหลังจากอัปเกรดจาก Ubuntu 17.04 เป็น Ubuntu 17.10
renameทำงานได้ดีก่อนการอัปเกรดตอนนี้ทำงานrenameในเทอร์มินัลแสดงสิ่งต่อไปนี้: The program 'rename' can be found in the following packages: * perl * rename มีคำแนะนำใด ๆ (ง่าย) ไหม? ฉันรันสิ่งนี้ในเทอร์มินัลเพื่อให้ฉันสามารถเปลี่ยนชื่อไฟล์ได้หลายไฟล์เนื่องจาก GUI จะใช้ได้สำหรับการเปลี่ยนชื่อเพียงไม่กี่อัน
11 upgrade  17.10  rename 

5
ฉันจะแปลงชุดชื่อโฟลเดอร์จากรูปแบบวันที่หนึ่งไปยังอีกรูปแบบได้อย่างไร
ฉันมีโฟลเดอร์จำนวนมากตั้งชื่อตามวันที่ดังนี้: 10 Aug 2010 15 Sep 2010 20 Jun 2010 25 Jul 2010 6 Nov 2010 10 Sep 2010 16 Aug 2010 20 Mar 2010 26 Aug 2010 6 Oct 2010 11 Apr 2010 16 Jun 2010 21 Jun 2010 28 Aug 2010 7 Apr 2010 12 Aug 2010 16 …
10 rename  date 

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)

1
กลุ่มการดักจับจะถูกละเว้นเมื่อทำการเปลี่ยนชื่อไฟล์
ฉันมีไฟล์จำนวนมากในรูปแบบนี้: ##. ## - ชื่อไฟล์. mp4 ฉันต้องการเปลี่ยนชื่อพวกเขาเป็น: s ## E ##. mp4 นี่คือสิ่งที่ฉันมาด้วย: เปลี่ยนชื่อ -n "s / ^ (\ d {2}) \. (\ d {2}). * / s $ 1e $ 2.mp4 /" มันทำงานได้เมื่อฉันทดสอบบนhttp://regexr.com/แต่เมื่อฉันรันคำสั่งในการติดตั้ง Ubuntu 12.04 ทุกไฟล์ของฉันจะถูกเปลี่ยนชื่อเป็นse.mp4 ดังนั้นดูเหมือนว่ากลุ่มจะถูกละเว้นหรือไม่ได้แทรกหรือบางสิ่งบางอย่างตามสายเหล่านั้น ฉันขาดสิ่งที่เห็นได้ชัดเจนหรือมีสิ่งอื่นเกิดขึ้นหรือไม่ ฉันลงเอยด้วยการใช้ pyRenamer และใช้งานได้ดี แต่ฉันก็ยังอยากรู้ว่าทำไมrenameการทำงานไม่ถูกต้อง ไชโยและขอบคุณสำหรับความช่วยเหลือใด ๆ ที่คุณสามารถให้ฉัน
10 12.04  rename  regex 

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 ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม

1
การเปลี่ยนชื่อไฟล์ใน Ubuntu-GNOME นั้นแปลกกว่าสีน้ำเงิน
เมื่อฉันพยายามเปลี่ยนชื่อโฟลเดอร์เนื้อหาที่เลือกดูแปลก ๆ ข้อความที่เลือกควรเป็นสีขาวและมีพื้นหลังสีน้ำเงิน แทนที่จะเป็นเช่นนี้: ฉันเพิ่งติดตั้ง Ubuntu-GNOME และฉันได้รับสิ่งนี้ ฉันใช้ธีมเริ่มต้นทั้งหมด

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คำสั่ง?


2
ใช้การเปลี่ยนชื่อรักษาส่วนหนึ่งของ regex การค้นหา
เช้า โครงการปัจจุบันที่ฉันต้องทำงานมีรูปแบบการตั้งชื่อก่อนหน้านี้ที่รบกวนฉัน ... Base.v2.c Base.v2a.c Slider.v4a.h Area.v2a.2.h ฉันได้รับการบอกว่า "a" ในเวอร์ชันนี้คือการระบุ "อัลฟา" ที่จำเป็นต้องใช้งานมากกว่านี้ ในขั้นตอนนี้ฉันสามารถลบ "a" และแทนที่ด้วย ".1" (v2a -> v2.1) มีไฟล์จำนวนมากเกินกว่าที่ฉันจะทำเอง ฉันรู้ว่าฉันสามารถใช้คำสั่ง rename เพื่อเปลี่ยนชื่อไฟล์ทั้งหมดในครั้งเดียว แต่ฉันพบปัญหาเกี่ยวกับวิธีการทำเช่นนั้น ถ้าฉันใช้สิ่งที่ชอบ: rename 's/[0-9]a/.1/' * จากนั้นฉันจะสูญเสียตัวเลขหลักสุดท้ายของหมายเลขเวอร์ชัน มีวิธีการเปลี่ยนชื่อ (หรือเครื่องมือบรรทัดคำสั่งอื่น) จำส่วนหนึ่งของ regex ที่ใช้ในการค้นหาไฟล์หรือไม่ ดังนั้น '[0-9] a' ถึง '[0-9] .1' จะเปลี่ยน 1a เป็น 1.1 และ 4a เป็น 4.1 เป็นต้น

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.