GNU/Linux >> Znalost Linux >  >> Ubuntu

Převeďte názvy souborů na malá písmena pomocí příkazového řádku Ubuntu

Při práci s Linuxem můžete narazit na některé nástroje a aplikace, které pracují pouze s názvy souborů malými písmeny. Soubory v tomto formátu obvykle neukládáme a možná budeme muset hledat řešení, které rekurzivně převede všechny názvy souborů ve složce na malá písmena. V tomto článku vám ukážeme dva způsoby, jak převést všechny soubory a názvy složek v dané cestě na malá písmena, jednoduše pomocí příkazového řádku.

Spustili jsme příkazy a postupy uvedené v tomto článku na systému Ubuntu 18.04 LTS.

Zde je návod, jak můžete zobrazit obsah vaší složky pomocí příkazu find:

$ najít [název_adresáře] -hloubka

Moje složka Stažené soubory, kterou použiji jako ukázku pro tento článek, obsahuje všechny soubory začínající velkými písmeny a také obsahuje několik mezi názvy.

$ find Downloads -depth

Metoda 1:Použití příkazu přejmenovat

V této metodě budeme využívat příkazy Ubuntu find, Xargs a rename k rekurzivnímu přejmenování všech souborů/složek v daném adresáři.

Otevřete příkazový řádek Ubuntu, Terminál, buď pomocí vyhledávání ve Spouštěči aplikací, nebo pomocí zkratky Ctrl+Alt+T.

Zde je syntaxe příkazu, který budete používat:

$ najít [název_adresáře] -hloubka | xargs -n 1 přejmenovat -v ‘s/(.*)\/([^\/]*)/$1\/\L$2/’ {} \;

Pokud v systému nemáte nainstalovaný příkaz rename, může se při spuštění výše uvedeného příkazu zobrazit chyba. Přejmenování můžete nainstalovat do svého Ubuntu pomocí následujícího příkazu apt-get:

$ sudo apt-get install rename

K převodu názvů souborů na malá písmena v adresáři Stažené soubory použiji následující příkaz:

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

Když jsem znovu vypsal obsah adresáře, viděl jsem všechny názvy souborů převedené na malá písmena takto:

Metoda 2:Použití skriptu k přejmenování souborů

V této metodě použijeme bash skript, který používá příkazy find a mv k rekurzivnímu přejmenování názvů souborů a složek v adresáři, včetně samotného názvu adresáře.

Otevřete aplikaci Terminál a přesuňte se do složky bin následovně:

$ cd ~bin

Nyní otevřete nový soubor skriptu v jednom z vašich oblíbených textových editorů. K otevření prázdného souboru skriptu s názvem smallcase_filenames.sh

použijeme editor nano
$ sudo nano lowercase_filenames.sh

Do tohoto prázdného souboru přidejte následující skript.

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

Tip: Místo psaní celého skriptu do bash souboru jej můžete zkopírovat odtud a vložit do Terminálu pomocí Ctrl+Shift+V nebo pomocí možnosti Vložit z nabídky po kliknutí pravým tlačítkem.

Takto bude váš soubor vypadat:

Nyní ukončete soubor pomocí klávesové zkratky Ctrl+X a uložte soubor na "Uložit upravenou vyrovnávací paměť?" zadejte Y a poté stiskněte Enter.

Chcete-li z tohoto souboru vytvořit spustitelný skript, spusťte ve svém terminálu následující příkaz:

$ sudo chmod +x lowercase_filenames.sh

Nyní jste připraveni použít skript pro kteroukoli z vašich složek.

Když spustím skript ve složce Stažené soubory, uvidím všechny názvy souborů a podsložek převedené na malá písmena takto:

Takže toto byly dva způsoby, jak můžete přejmenovat názvy souborů na všechna malá písmena, aby aplikace, kterou používáte, nerozpoznala žádné velké názvy souborů.


Ubuntu
  1. Stáhněte si soubor na Ubuntu pomocí příkazového řádku v systému Ubuntu 20.04

  2. Jak převést soubor aplikace Excel na soubor Calc z příkazového řádku?

  3. Obnovení záloh selhává v Ubuntu 16.04?

  1. Jak snadno otevřít soubor PDF z příkazového řádku v Ubuntu

  2. Jak stáhnout soubor na Ubuntu pomocí příkazového řádku

  3. Alternativa k příkazovému řádku SSH z Ubuntu

  1. Převeďte PNG na JPEG, JPEG na PNG pomocí příkazového řádku v Ubuntu

  2. Kopírování jednoho souboru současně do více umístění prostřednictvím příkazového řádku Ubuntu

  3. Otestujte svou rychlost internetu pomocí příkazového řádku Ubuntu