Pervardykite visus failus ir katalogų pavadinimus į mažąsias „Linux“.
Ankstesniame straipsnyje aprašėme, kaip suskaičiuoti failų ir pakatalogių skaičių tam tikrame kataloge. Šis vadovas parodys, kaip pervardyti visų failų ir katalogų pavadinimus mažosiomis raidėmis sistemoje „Linux“.
Taip pat skaitykite: kaip sužinoti populiariausius katalogus ir failus (vieta diske) sistemoje „Linux“
Yra keletas būdų tai pasiekti, tačiau paaiškinsime du efektyviausius ir patikimiausius būdus. Šiam vadovui naudojome katalogą pavadinimu Failai
, kurio struktūra yra tokia:
find Files -depth
1. Naudodami Find, xargs ir pervardykite komandas kartu
pervardyti yra paprasta komandų eilutės programa, skirta pervardyti kelis failus vienu metu sistemoje „Linux“. Galite naudoti jį kartu su paieškos įrankiu, norėdami pervardyti visus failus ar pakatalogius tam tikrame kataloge į mažąsias raides taip:
find Files -depth | xargs -n 1 rename -v 's/(.*)\/([^\/]*)/$1\/\L$2/' {} \;
Aukščiau pateiktoje komandoje naudojamų parinkčių paaiškinimas.
-depth
– kiekvieno katalogo turinys pateikiamas prieš patį katalogą.-n 1
– nurodo xargs naudoti daugiausia vieną argumentą komandų eilutėje iš rasti išvesties.
Pavyzdinis išvestis kataloge Failai
pervadinę failus ir pakatalogius į mažąsias raides.
Kitas alternatyvus būdas scenarijuje naudoti paieškas ir mv komandas, kaip paaiškinta toliau.
2. „Shell Script“ komandų find ir mv naudojimas
Pirmiausia sukurkite savo scenarijų (galite pavadinti jį kaip tik norite):
cd ~/bin
vi rename-files.sh
Tada pridėkite žemiau esantį kodą.
#!/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šsaugokite ir uždarykite failą, tada padarykite scenarijų vykdomąjį ir paleiskite jį:
chmod +x rename-files.sh
rename-files.sh Files #Specify Directory Name
Taip pat galbūt norėsite perskaityti šiuos susijusius straipsnius.
- „Viskas yra failas“ ir „Linux“ failų tipų paaiškinimas
- fswatch – stebi failų ir katalogų pakeitimus arba modifikacijas sistemoje „Linux“.
- Fasd – komandų eilutės įrankis, suteikiantis greitą prieigą prie failų ir katalogų
- FSlint – kaip rasti ir pašalinti pasikartojančius failus Linux
Šiame vadove paaiškinome, kaip Linux sistemoje pervardyti visus failus ir katalogus mažosiomis raidėmis. Jei atsiranda klaidų, susisiekite su mumis naudodami toliau pateiktą atsiliepimų formą. Taip pat galite mums pasiūlyti bet kokius kitus metodus, kaip tai padaryti.