ต่อไปนี้ทั้งสองคำสั่งที่ใช้ในเทอร์มิสามารถบรรลุสิ่งที่คุณเคยถามครั้งแรกสร้างโครงสร้างไดเรกทอรีปลายทางลำดับชั้นที่มี* .mp3ไฟล์และคำสั่งที่สองการลบ* .mp3ไฟล์จากโครงสร้างไดเรกทอรีลำดับชั้นแหล่งที่มา
หมายเหตุ: ตรวจสอบให้แน่ใจว่าคุณมีการสำรองข้อมูลที่เหมาะสมก่อนที่จะใช้คำสั่งที่สองเนื่องจากพิมพ์ผิดอาจถึงแก่ชีวิตได้
เปิด Terminal
เริ่มต้นเทอร์โดยเปิดหนึ่งของหลักดังนั้นฉันจะใช้มันเป็นจุดเริ่มต้นและตัวอย่างไดเรกทอรีเพลงเป็นโครงสร้างไดเรกทอรีลำดับชั้นแหล่งที่มา
คำสั่งนี้เป็นครั้งแรกที่จะทำสำเนาของที่โครงสร้างไดเรกทอรีลำดับชั้นเพลงที่มีเพียง* .mp3แฟ้มในไดเรกทอรีปลายทาง กล่าวอีกนัยหนึ่งหลังจากเรียกใช้คำสั่งแรกจะมีไดเรกทอรีปลายทางที่ประกอบด้วยโครงสร้างไดเรกทอรีลำดับชั้นเดียวกันเริ่มต้นที่Musicภายในไดเรกทอรีปลายทางที่มีเฉพาะไฟล์* .mp3เท่านั้นและเฉพาะไดเรกทอรีจากแหล่งที่มีไฟล์* .mp3 หากไดเรกทอรีต้นทางที่ให้มาไม่มีไฟล์* .mp3ไดเรกทอรีไม่ได้สร้างขึ้นในไดเรกทอรีปลายทางโครงสร้างลำดับชั้น
หมายเหตุ: บรรทัดคำสั่งแบบเต็มขยายออกจากมุมมองโดยไม่ต้องเลื่อนในแนวนอน
find ./Music -name "*.mp3" -type f -print0 | xargs -0 -I '{}' /usr/bin/rsync -avR "{}" "./mp3 files only/"
หมายเหตุ: คำสั่งแบบเต็มแสดงบนสองบรรทัดเพื่อความชัดเจน:
find ./Music -name "*.mp3" -type f -print0 | \
xargs -0 -I '{}' /usr/bin/rsync -avR "{}" "./mp3 files only/"
เมื่อคำสั่งด้านบนเสร็จสิ้นจะมีไดเรกทอรีในHome Directoryของฉันชื่อ"ไฟล์ mp3 เท่านั้น"และภายในไดเรกทอรีนั้นจะมีโครงสร้างไดเรกทอรีเพลงที่มีเฉพาะไฟล์* .mp3 หมายเหตุ: หากไม่มีไดเรกทอรีปลายทางระบบจะสร้างขึ้นโดยอัตโนมัติ
ตอนนี้ที่.mp3 *ไฟล์ที่ได้รับการคัดลอกมาจากแหล่งที่มาของเพลงโครงสร้างไดเรกทอรีลำดับชั้นไป"ไฟล์ MP3 เท่านั้น" ไดเรกทอรี* .mp3ไฟล์ที่สามารถลบออกจากแหล่งที่มาของเพลงโครงสร้างไดเรกทอรีลำดับชั้นที่มีคำสั่งดังต่อไปนี้
find ./Music/ -name "*.mp3" -delete
นั่นคือมัน* .mp3ไฟล์ของพวกเขาพร้อมกับโครงสร้างไดเรกทอรีลำดับชั้น ได้ถูกคัดลอกไปยังตำแหน่งใหม่และ* .mp3ไฟล์ที่ถูกลบจากแหล่งที่มา