GNU/Linux >> Tutoriels Linux >  >> Cent OS

Centos - Renommer tous les fichiers avec un certain nom ?

J'essaie de trouver certains fichiers avec le nom "stringx" et de remplacer le nom (mais pas l'extension) par "stringy". Donc, fondamentalement, pour stringx.txt et stingx.cs, je voudrais stringy.txt et stringy.cs. J'ai essayé de tester ma regex de commande de renommage en utilisant ce qui suit, mais cela ne renvoie aucun résultat :

rename -n 'stringx./s/*$stringy.//' stringx.*

J'utilise csh sous Centos. Je peux voir que mon regex n'est probablement pas correct, mais je ne vois aucun résultat pour le vérifier. Je peux voir qu'il existe des fichiers nommés stringx. avec ce qui suit :

find ./ -name 'stringx.*'

Réponse acceptée :

rename stringx stringy stringx.*

Il existe (au moins) deux utilitaires appelés rename sur les systèmes Linux typiques. Debian et les distributions dérivées (y compris Ubuntu) embarquent un script Perl dont la syntaxe serait

rename 's/stringx/stringy/' stringx.*

Sur d'autres distributions, y compris CentOS, rename est de util-linux, et sa syntaxe est ce que j'ai écrit ci-dessus. Cet utilitaire est disponible sous le nom rename.ul sur Debian et ses dérivés.

Si vous voulez faire une récurrence dans les sous-répertoires, en supposant que par csh vous entendez tcsh (mais vraiment, pensez à entrer au milieu des années 1990 et à passer à zsh) :

set globstar
rename stringx stringy stringx.* **/stringx.*

Cent OS
  1. Renommer tous les fichiers ".pdf" en "_0.pdf" ?

  2. Répertorier tous les packages installés avec yum sur CentOS 7

  3. Comment définir un nom d'interface personnalisé avec NetworkManager dans CentOS/RHEL 7

  4. Comment définir le mot de passe des fichiers Zip avec la commande dans tous les systèmes d'exploitation ?

  5. Comment changer toutes les occurrences d'un mot dans tous les fichiers d'un répertoire

Configurer OpenLDAP avec SSL sur CentOS 7 / RHEL 7

DRBD avec MySQL Centos 8

Comment supprimer des dossiers avec un certain nom

Comment supprimer tous les fichiers commençant par une certaine chaîne sous Linux

Comment renommer tous les fichiers avec des caractères spéciaux et des espaces dans un répertoire ?

Renommer des fichiers sous Linux avec une regex