ฉันพยายามเปลี่ยนชื่อไฟล์ทั้งหมดซ้ำภายในไดเรกทอรีและไดเรกทอรีย่อยเป็นตัวพิมพ์เล็ก แต่เปลี่ยนชื่อไดเรกทอรีไม่เปลี่ยนแปลง
ตัวอย่างทั้งหมดที่ฉันได้พบเปลี่ยนชื่อทั้งไฟล์และไดเรกทอรีเป็นตัวพิมพ์เล็กเช่น:
find ./ -depth -exec rename -n 'y/[A-Z]/[a-z]/' {} ";"
และ
find . -type f|while read f; do mv "$f" "$(echo $f|tr '[:upper:]' '[:lower:]')"; done
ฉันจะเก็บไดเรคทอรีไม่เปลี่ยนแปลง แต่เปลี่ยนชื่อไฟล์ทั้งหมดได้อย่างไร?
-type f
แรกfind
ให้กับฉันซึ่งเป็นวิธีที่ง่ายที่สุดชัดเจนและง่ายต่อการจดจำมากขึ้น
-type f
แสดงรายการไฟล์ปกติเท่านั้น ไดเรกทอรีไม่ได้อยู่ในรายการ