Semmi mill-ġdid il-Fajls u l-Ismijiet tad-Direttorju Kollha b'ittri żgħar fil-Linux


Fl-artiklu preċedenti tagħna, iddeskrivejna kif tgħodd in-numru ta 'fajls u sottodirettorji ġewwa direttorju partikolari. Din il-gwida se turi kif tibdel l-isem tal-fajls u tad-direttorji kollha b'ittri żgħar fil-Linux.

Hemm diversi modi biex jinkiseb dan, iżda aħna ser nispjegaw tnejn mill-aktar metodi effiċjenti u affidabbli. Għall-iskop ta’ din il-gwida, użajna direttorju bl-isem Fajls li għandu l-istruttura li ġejja:

# find Files -depth

1. Bl-użu find, xargs u semmi mill-ġdid Kmandi Flimkien

issib utilità biex tibdel l-isem tal-fajls jew subdirettorji kollha f'direttorju partikolari f'ittri żgħar kif ġej:

$ find Files -depth | xargs -n 1 rename -v 's/(.*)\/([^\/]*)/$1\/\L$2/' {} \;

Spjegazzjoni ta 'għażliet użati fil-kmand ta' hawn fuq.

  • -depth – telenka l-kontenut ta’ kull direttorju qabel id-direttorju nnifsu.
  • -n 1 – jagħti struzzjonijiet lil xargs biex jużaw l-iktar argument wieħed għal kull linja ta’ kmand mill-output tas-sejba.

Output tal-kampjun wara li ssemmi mill-ġdid fajls u sottodirettorji b'ittri żgħar fid-direttorju Files.

Mod alternattiv ieħor bl-użu tal-kmandi mv fi skript kif spjegat hawn taħt.

2. Bl-użu ta' find u mv Commands fi Shell Script

L-ewwel oħloq l-iskrittura tiegħek (tista' semmiha kull ma tippreferi):

$ cd ~/bin
$ vi rename-files.sh

Imbagħad żid il-kodiċi hawn taħt fiha.

#!/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

Issejvja u agħlaq il-fajl, imbagħad agħmel l-iskritt eżekutibbli u mexxih:

$ chmod +x rename-files.sh
$ rename-files.sh Files     #Specify Directory Name

Inti tista 'wkoll tixtieq taqra dawn l-artikoli relatati li ġejjin.

  1. Spjegazzjoni ta' \Kollox huwa Fajl u Tipi ta' Fajls fil-Linux
  2. fswatch – Tissorvelja Fajls u Bidliet jew Modifiki fid-Direttorju fil-Linux
  3. Fasd – Għodda tal-Kmandline Li Toffri Aċċess Rapidu għall-Fajls u Direttorji
  4. FSlint – Kif Sib u Neħħi Fajls Duplikati fil-Linux

F'din il-gwida, spjegajnak kif tibdel l-isem tal-fajls u d-direttorji kollha f'ittri żgħar fil-Linux. Jekk ikollok xi żbalji, jekk jogħġbok ikkuntattjana permezz tal-formola ta 'feedback hawn taħt. Tista' wkoll toffrilna kwalunkwe metodu ieħor kif nagħmlu l-istess.