Nimeä kaikki tiedostot ja hakemistojen nimet pieniksi kirjaimiksi Linuxissa


Edellisessä artikkelissamme olemme kuvanneet, kuinka tietyssä hakemistossa olevien tiedostojen ja alihakemistojen määrä lasketaan. Tämä opas näyttää, kuinka voit nimetä kaikkien tiedostojen ja hakemistojen nimet uudelleen pienillä kirjaimilla Linuxissa.

Lue myös: Linuxin suosituimmat hakemistot ja tiedostot (levytila)

On olemassa useita tapoja saavuttaa tämä, mutta selitämme kaksi tehokkainta ja luotettavinta menetelmää. Tässä oppaassa olemme käyttäneet hakemistoa nimeltä Files, jolla on seuraava rakenne:

find Files -depth

1. Etsi, xargs ja nimeä Commands Together uudelleen

rename on yksinkertainen komentorivityökalu useiden tiedostojen uudelleennimeämiseen kerralla Linuxissa. Voit käyttää sitä yhdessä Find-apuohjelman kanssa nimetäksesi kaikki tietyn hakemiston tiedostot tai alihakemistot pieniksi kirjaimilla seuraavasti:

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

Selitys yllä olevassa komennossa käytetyistä valinnoista.

  • -depth – luettelee kunkin hakemiston sisällön ennen itse hakemistoa.
  • -n 1 – käskee xargsia käyttämään korkeintaan yhtä argumenttia komentoriviä kohden find-ulostulosta.

Esimerkkituloste sen jälkeen, kun tiedostot ja alihakemistot on nimetty uudelleen pieniksi kirjaimilla Files-hakemistossa.

Toinen vaihtoehtoinen tapa käyttää find- ja mv-komentoja skriptissä, kuten alla selitetään.

2. Find- ja mv-komentojen käyttäminen Shell Scriptissa

Luo ensin skripti (voit nimetä sen haluamallasi tavalla):

cd ~/bin
vi rename-files.sh

Lisää sitten alla oleva koodi siihen.

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

Tallenna ja sulje tiedosto, tee komentosarjasta suoritettava ja suorita se:

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

Saatat myös haluta lukea nämä seuraavat aiheeseen liittyvät artikkelit.

  1. Selitys "Kaikki on tiedostoa" ja tiedostotyypit Linuxissa
  2. fswatch – Valvoo tiedostoja ja hakemiston muutoksia tai muokkauksia Linuxissa
  3. Fasd – komentorivityökalu, joka tarjoaa nopean pääsyn tiedostoihin ja hakemistoihin
  4. FSlint - Kuinka löytää ja poistaa päällekkäisiä tiedostoja Linuxissa

Tässä oppaassa selitimme, kuinka kaikki tiedostot ja hakemistot nimetään uudelleen pienillä kirjaimilla Linuxissa. Jos saat virheitä, ota meihin yhteyttä alla olevan palautelomakkeen kautta. Voit myös tarjota meille muita tapoja tehdä sama.