GNU/Linux >> Znalost Linux >  >> Linux

Přejmenovat soubory v adresáři?

Jak přejmenovat soubory v adresáři, jako je například následující soubor:PMC21375.pdf.txt , potřebuji být přejmenován na 21375.txt . tj. musím odstranit oba PMC a pdf od každého názvu souboru.

Přijatá odpověď:

S rename perlu :

rename 's/(PMC|.pdf)//g' *pdf.txt 

Demo :

$ ls *txt
PMC21375.pdf.txt
$ rename -n 's/(PMC|.pdf)//g' *txt 
PMC21375.pdf.txt -> 21375.txt

z shell výzva. Je to velmi užitečné, můžete do substituce vložit nějaký kód v perlu jako já.

Můžete odstranit -n (přepínač režimu chodu nasucho), když se vaše testy stanou platnými.

Existují další nástroje se stejným názvem, které to mohou nebo nemusí umět, takže buďte opatrní.

Pokud spustíte následující příkaz (linux )

$ file $(readlink -f $(type -p rename))

a máte výsledek jako

.../rename: Perl script, ASCII text executable

pak se zdá, že je to ten správný nástroj =)

Pokud ne, nastavte jej jako výchozí (obvykle již tak) v Debian a odvozeniny jako Ubuntu :

$ sudo update-alternatives --set rename /path/to/rename

(nahraďte /path/to/rename na cestu vašeho perl's rename příkaz.

V neposlední řadě tento nástroj původně napsal Larry Wall, otec Perlů.


Linux
  1. Přejmenujte všechny soubory a názvy adresářů na malá písmena v Linuxu

  2. Jak přejmenovat soubory v Linuxu

  3. Jak Grep v souborech Pdf?

  1. Jak přejmenovat adresář v Linuxu

  2. Cat soubory s adresářem?

  3. Rozbalte všechny soubory v adresáři

  1. Jak změnit všechny výskyty slova ve všech souborech v adresáři

  2. Najděte a přejmenujte adresář

  3. Linux přejmenovává soubory na velká písmena