Ilisan ang Tanan nga mga File ug Direktoryo nga Ngalan sa Lowercase sa Linux
Sa among miaging artikulo, among gihulagway kung giunsa pag-ihap ang gidaghanon sa mga file ug mga subdirektoryo sa sulod sa gihatag nga direktoryo. Kini nga giya magpakita kanimo kung giunsa pag-usab ang ngalan sa tanan nga mga file ug mga ngalan sa direktoryo sa gamay nga letra sa Linux.
Adunay daghang mga paagi aron makab-ot kini, apan among ipasabut ang duha sa labing episyente ug kasaligan nga mga pamaagi. Alang sa katuyoan niini nga giya, migamit kami og direktoryo nga ginganlan og Files
nga adunay mosunod nga istruktura:
# find Files -depth
1. Gamit ang pagpangita, pag-xargs ug pag-ilis sa ngalan sa mga Command Together
pangitaa ang utility aron mabag-o ang ngalan sa tanan nga mga file o mga subdirektoryo sa usa ka partikular nga direktoryo sa gamay nga letra sama sa mosunod:
$ find Files -depth | xargs -n 1 rename -v 's/(.*)\/([^\/]*)/$1\/\L$2/' {} \;
Pagpatin-aw sa mga opsyon nga gigamit sa sugo sa ibabaw.
-depth
– naglista sa sulod sa matag direktoryo sa wala pa ang direktoryo mismo.-n 1
– nagmando sa xargs sa paggamit ug pinakadaghang argumento kada command line gikan sa find output.
Sample nga output human sa pag-ilis sa mga file ug subdirectory ngadto sa lowercase sa Files
directory.
Laing alternatibong paagi gamit ang mv commands sa usa ka script sama sa gipatin-aw sa ubos.
2. Gamit ang find ug mv Commands sa Shell Script
Una paghimo sa imong script (mahimo nimo kining hinganlan sa bisan unsang gusto nimo):
$ cd ~/bin $ vi rename-files.sh
Dayon idugang ang code sa ubos niini.
#!/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
I-save ug isira ang file, dayon himoa nga ma-executable ang script ug padagana kini:
$ chmod +x rename-files.sh $ rename-files.sh Files #Specify Directory Name
Mahimo usab nimong basahon kining mosunod nga may kalabotan nga mga artikulo.
- Patin-aw sa \Ang Tanan usa ka File ug Mga Uri sa mga File sa Linux
- fswatch – Nagmonitor sa mga File ug Direktoryo nga Pagbag-o o Pagbag-o sa Linux
- Fasd – Usa ka Tool sa Commandline nga Nagtanyag ug Dali nga Pag-access sa mga File ug Direktoryo
- FSlint – Unsaon Pagpangita ug Pagtangtang sa Duplicate Files sa Linux
Sa kini nga giya, gipatin-aw namon kanimo kung giunsa pagbag-o ang ngalan sa tanan nga mga file ug direktoryo sa gamay nga letra sa Linux. Kung adunay bisan unsang mga sayup, palihug i-hit kami pinaagi sa feedback nga porma sa ubos. Mahimo usab nimo nga itanyag kanamo ang bisan unsang ubang mga pamaagi sa pagbuhat sa parehas.