Převeďte velká a malá písmena na názvy souborů

Zkuste najít (příkaz Linux)

Při mnoha příležitostech je vhodnější mít malá jména souborů a adresářů. Přejmenovat jeden po druhém je velmi tvrdá práce. Zejména v případě, že existují stovky nebo tisíce souborů, je práce komplikovanější a obtížnější předat ji ručně. To ale neznamená, že je to nemožné nebo že neexistují žádné metody, jak to udělat zcela rychle a automatizovaně.

Ale kromě čisté estetiky nebo předvoleb každého uživatele někdy jde o technické problémy, protože některé aplikace nemohou pracovat s určitými jmény velkými písmeny a je třeba je převést. Když narazíte na jednu z těchto aplikací, možná jste již dlouhou dobu hromadili soubory se jmény všeho druhu a návrat se komplikuje. Ale nebojte se, má jednoduché řešení, jak vám ukážu v tomto tutoriálu ...

Převést velká písmena na malá písmena

Příkaz pro přepnutí z velkých na malá písmena

První věc, kterou byste měli vědět, je to následující příkaz převede všechna velká na malá písmena, včetně případů, kdy jsou v tomto adresáři podadresáře. Takže pokud nechcete, aby všechny byly malé, udělejte to v konkrétním adresáři, jinak vše převede za vás. To se mi zdá důležité, abyste později neměli problémy a jména, která jste nechtěli převést na malá písmena, budou převedena.

Na druhou stranu potřebujete mít nainstalovaný program přejmenování. Pokud jej nemáte nainstalovaný, použijte jej snadno pomocí správce balíčků vaší distribuce. Obecně byste jej ale měli mít nainstalovaný, takže jej nebude nutné instalovat ve všech případech. Tento nástroj vám poslouží k tomu, abyste mohli upravovat několik jmen najednou, namísto použití typického mv k úpravě názvu jeden po druhém ...

Další věc, kterou musíte vědět, než se pustíte do práce, je, že pokud při převodu z velkých na malá narazí na stejný název, nebude se převádět. Už víte, že Linux má citlivý na velká písmena ve vašem FS, takže se rozlišují velká a malá písmena. To znamená, že pokud máte soubor s názvem Hello2 a HELLO2, systém je odlišuje. Ale samozřejmě ..., když jdou na malá písmena, oba by se jmenovali hello2 a to není možné. Proto vyvolá chybovou zprávu a nebude ji transformovat.

Poté máte vše, co potřebujete vědět, a můžeme začít transformovat názvy z velkých na malá. The obecný příkaz Byl by to následující a můžete jej upravit tak, aby ukazoval na požadovaný adresář:

<br data-mce-bogus="1">

<em>find &lt;nombre_directorio&gt; -depth | xargs -n 1 rename -v 's/(.*)\/([^\/]*)/$1\/\L$2/' {} \;</em>

musíte nahradit podle názvu adresáře nebo cesty k adresáři, ve kterém chcete vytvořit malá písmena. Například jako příklad, který vám ukážu na obrázku, který je Test, ale může to být i jakýkoli jiný. U nováčků řekněte, že pod cestou mám na mysli cestu, pokud není přímo v adresáři, kde se právě nacházíte. Například pokud jste v ~ /, ale chcete jednat na / home / user / Downloads.

Převeďte jej na skript

Pro usnadnění převod velkých a malých písmen, můžete vytvořit skript nech to udělat za vás a nebudete muset výše uvedený příkaz zadávat pokaždé, když potřebujete převod. To je velmi užitečné pro ty, kteří neustále předávají jména. Pokud jej vložíte do libovolné cesty proměnné prostředí $ PATH, můžete ji spustit pouhým vyvoláním jejího názvu, aniž byste ji museli mít ve stejném adresáři, kde pracujete, nebo zadat úplnou cestu ...

L kroky, které musíte dodržet při vytváření převáděcího skriptu Zvuk:

  • První je přejděte do adresáře / bin zahrnout tam skript a použít jej jako jakýkoli jiný příkaz, jednoduše vyvolat jeho jméno z terminálu.
<br data-mce-bogus="1">

cd ~/bin<br data-mce-bogus="1">

  • Pak tvořit s nanonebo pomocí oblíbeného textového editoru soubor se skriptem a nazvěte jej, jak chcete. Říkám tomu mayutominu:
sudo nano mayutominu.sh

  • Uvnitř nano musíte vložit následující text pro kód tohoto skriptu z bash:
</pre><pre>#!/bin/bash
if [ -z $1 ];then
echo "Uso :$(basename $0) parent-directory"
exit 1
fi

all="$(find $1 -depth)"

for name in ${all}; do
new_name="$(dirname "${name}")/$(basename "${name}" | tr '[A-Z]' '[a-z]')"
if [ "${name}" != "${new_name}" ]; then
[ ! -e "${new_name}" ] &amp;&amp; mv -T "${name}" "${new_name}"; echo "${name} was renamed to ${new_name}" || echo "${name} wasn't renamed!"
fi

done
exit 0</pre><pre>
  • Nyní uložte soubor pomocí kombinace kláves Ctrl + O a ukončení pomocí Ctrl + X. Váš soubor mayutominu.sh již byl vytvořen pomocí skriptu, následující je dát svolení provedení:
sudo chmod +x mayutominu.sh
  • Konečně to máš připraven k použití. Jak to děláš? Pokračováním stejného příkladu z předchozí části, pokud jste chtěli změnit názvy testovacího adresáře z velkých na malá, můžete provést následující:
mayutominu Prueba
  • Víte, pokud potřebujete specifikovat úplná cesta nebo cesta, můžete také, pokud adresář není na aktuální pozici. Například:
mayutominu /home/usuario/Descargas

Doufám, že vám to pomohlo, víte, že jakékoli dotazy nebo návrhy, můžete zanechat své komentáře...


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Za data odpovídá: AB Internet Networks 2008 SL
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.

  1.   yo řekl

    V debianu mi to říká toto:
    -bash: chyba syntaxe poblíž neočekávaného tokenu `nový řádek

    nalézt -hloubka | xargs -n 2 přejmenovat -v 's /(.*)\/(((^\/)*)/$ 1 \ / \ L $ 1 /' {} \;