วิธีลบบางส่วนของชื่อไฟล์


0

ฉันมีไฟล์ MP3 หลายไฟล์ชื่อดังนี้:

ศิลปิน - ปี - อัลบั้ม - แทร็ก - ชื่อ. mp3

ประมาณครึ่งหนึ่งเนื่องจากข้อผิดพลาด "เปลี่ยนชื่อจากแท็ก" มีชื่อดังนี้

ศิลปิน - ปี - อัลบั้ม - ติดตาม - ชื่อ - - .mp3

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

หากฉันสามารถย้ายไฟล์ที่มีชื่อผิดไปยังไดเรกทอรีอื่นฉันจะสามารถใช้โปรแกรมแท็กเพื่อแก้ไขชื่อไฟล์ได้

ขอบคุณ


วาง [ส่วนของ] ผลลัพธ์ของ ls -1 | cat -t.
Vi.

คำตอบ:


1

หากคุณมีโปรแกรมอรรถประโยชน์ renameคุณสามารถทำบางสิ่งได้ตามแนวของ:

rename -e 's/ - - //' *.mp3

เพื่อความปลอดภัยก่อนที่จะเรียกใช้ข้างต้นให้รันด้วย -n ธงสำหรับระยะแห้ง มันจะไม่เปลี่ยนแปลงไฟล์ใด ๆ แต่จะแสดงให้คุณเห็นว่ามันจะเปลี่ยนไปเช่น:

$ rename -n -e 's/ - - //' *.mp3
rename(artist - year - album - track - title - - .mp3, artist - year - album - track - title.mp3)

0

สิ่งที่ต้องการ mv $(ls -1 | grep -- '- -') /path/to/dir_to_for_retagging/. กันเลยดีกว่า echo mv ... ก่อนเพื่อดูว่ามันจะทำอะไร


mv $ (ls -1 | grep - '- -') / path / to / dir_to_for_retagging / ผลลัพธ์ใน: mv: ไม่มีตัวถูกดำเนินการปลายทางไฟล์ปลายทางหลังจากไดเรกทอรี

0
mv *--.mp3 /path/to/dir

ควรทำงานได้ดี


อาจจะ mv *' - -.mp3' /path/to/dir/? มีอักขระเว้นวรรค
Vi.

$ mv * '- - .mp3 ~ / Desktop / u / mv: ไม่สามารถ stat `-': ไม่มีไฟล์หรือไดเรกทอรีสำหรับทั้งสอง

mv -. mp3 / path / to / dir mv: ไม่สามารถ stat ` -. mp3 ': ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว

0

สิ่งที่ต้องการ

for i in $(ls *--.mp3); do mv $i `echo $i | sed s/--// ; done

(ทดสอบ) นี่จะเป็นการลบทั้งหมด - จากชื่อไฟล์

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.