ປ່ຽນຊື່ໄຟລ໌ແລະຊື່ໄດເລກະທໍລີທັງ ໝົດ ໃຫ້ເປັນຕົວນ້ອຍໃນ Linux
ໃນບົດຂຽນທີ່ຜ່ານມາຂອງພວກເຮົາ, ພວກເຮົາໄດ້ອະທິບາຍວິທີການນັບ ຈຳ ນວນເອກະສານແລະໄດເລກະທໍລີຍ່ອຍພາຍໃນໄດເລກະທໍລີທີ່ໃຫ້. ຄູ່ມືນີ້ຈະສະແດງວິທີການປ່ຽນຊື່ໄຟລ໌ແລະລາຍຊື່ໄດເລກະທໍລີທັງ ໝົດ ໃຫ້ເປັນຕົວນ້ອຍໃນ Linux.
ມີຫລາຍວິທີໃນການບັນລຸເປົ້າ ໝາຍ ດັ່ງກ່າວ, ແຕ່ພວກເຮົາຈະອະທິບາຍເຖິງສອງວິທີທີ່ມີປະສິດທິພາບແລະເຊື່ອຖືໄດ້. ສຳ ລັບຈຸດປະສົງຂອງ ຄຳ ແນະ ນຳ ນີ້, ພວກເຮົາໄດ້ ນຳ ໃຊ້ໄດເລກະທໍລີທີ່ຊື່ວ່າ Files
ເຊິ່ງມີໂຄງສ້າງດັ່ງຕໍ່ໄປນີ້:
# find Files -depth
1. ການນໍາໃຊ້ຊອກຫາ, xargs ແລະປ່ຽນຊື່ Commands ຮ່ວມກັນ
ຊອກຫາສິ່ງ ອຳ ນວຍຄວາມສະດວກໃນການປ່ຽນຊື່ແຟ້ມທັງ ໝົດ ຫຼືໄດເລກະທໍລີຍ່ອຍໃນໄດເລກະທໍລີເສພາະເພື່ອເປັນຕົວນ້ອຍທີ່ມີດັ່ງຕໍ່ໄປນີ້:
$ find Files -depth | xargs -n 1 rename -v 's/(.*)\/([^\/]*)/$1\/\L$2/' {} \;
ຄໍາອະທິບາຍຂອງທາງເລືອກທີ່ໃຊ້ໃນຄໍາສັ່ງຂ້າງເທິງ.
-
-depth
- ລາຍຊື່ແຕ່ລະລາຍການຂອງໄດເລກະທໍລີກ່ອນໄດເລກະທໍລີເອງ. -
-n 1
- ແນະ ນຳ ໃຫ້ໃຊ້ xargs ໃນການໂຕ້ຖຽງຫຼາຍຄັ້ງ ໜຶ່ງ ຕໍ່ແຖວ ຄຳ ສັ່ງຈາກຜົນການຊອກຫາ.
ຜົນຜະລິດຕົວຢ່າງຫຼັງຈາກປ່ຽນຊື່ໄຟລ໌ແລະໄດເລກະທໍລີຍ່ອຍໃຫ້ນ້ອຍຢູ່ໃນ ແຟ້ມເອກະສານ
.
ອີກວິທີ ໜຶ່ງ ທາງເລືອກໂດຍໃຊ້ ຄຳ ສັ່ງ mv ໃນສະຄິບທີ່ໄດ້ອະທິບາຍຂ້າງລຸ່ມນີ້.
2. ການໃຊ້ຊອກຫາແລະ mv Commands ໃນ Shell Script
ທຳ ອິດສ້າງສະຄິບຂອງທ່ານ (ທ່ານສາມາດໃສ່ຊື່ທຸກຢ່າງທີ່ທ່ານຕ້ອງການ):
$ cd ~/bin $ vi rename-files.sh
ຫຼັງຈາກນັ້ນ, ຕື່ມລະຫັດຂ້າງລຸ່ມນີ້ໃນມັນ.
#!/bin/bash #print usage if [ -z $1 ];then echo "Usage :$(basename $0) parent-directory" exit 1 fi #process all subdirectories and files in parent directory all="$(find $1 -depth)" for name in ${all}; do #set new name in lower case for files and directories new_name="$(dirname "${name}")/$(basename "${name}" | tr '[A-Z]' '[a-z]')" #check if new name already exists if [ "${name}" != "${new_name}" ]; then [ ! -e "${new_name}" ] && mv -T "${name}" "${new_name}"; echo "${name} was renamed to ${new_name}" || echo "${name} wasn't renamed!" fi done echo echo #list directories and file new names in lowercase echo "Directories and files with new names in lowercase letters" find $(echo $1 | tr 'A-Z' 'a-z') -depth exit 0
ບັນທຶກແລະປິດເອກະສານ, ຫຼັງຈາກນັ້ນເຮັດໃຫ້ສະຄິບສາມາດປະຕິບັດໄດ້ແລະ ດຳ ເນີນການມັນ:
$ chmod +x rename-files.sh $ rename-files.sh Files #Specify Directory Name
ທ່ານອາດຈະມັກອ່ານບົດຄວາມທີ່ກ່ຽວຂ້ອງດັ່ງຕໍ່ໄປນີ້.
<
ໃນຄູ່ມືນີ້, ພວກເຮົາໄດ້ເລັ່ງທ່ານກ່ຽວກັບການປ່ຽນຊື່ໄຟລ໌ແລະໄດເລກະທໍລີທັງ ໝົດ ໄປເປັນຕົວນ້ອຍໃນ Linux. ຖ້າມີຂໍ້ຜິດພາດ, ກະລຸນາກົດຕິດຕາມພວກເຮົາແບບຟອມ ຄຳ ເຫັນຂ້າງລຸ່ມນີ້. ທ່ານສາມາດສະ ເໜີ ວິທີການເຮັດແບບດຽວກັນກັບພວກເຮົາໄດ້ເຊັ່ນກັນ.