• # Détruire rapidement un fichier

    Posté par  (site web personnel) . Évalué à 1.

    # cp /etc/login.*
    #

    Oops, mon doight a appuyé sur Entrée au lieu de Shift (le but c'était de taper un point à la fin de la première ligne). Au revoir /etc/login.defs !
  • # Re: Renomer rapidement des fichiers

    Posté par  . Évalué à 1.

    On écrit renommer (dans le titre de l'astuce).
  • # Re: Renomer rapidement des fichiers

    Posté par  (site web personnel) . Évalué à 1.

    Pour les renommage en masse, la commande sed peut etre utile:
    for i in *.JPG
    do
    mv $i `echo $i | sed s/.JPG/.jpg/`
    done
    change toutes les extention JPG en jpg.

    On peut aller plus loin en ajoutant un compteur:
    export j=0 # export n'est utile que si vous traviller en mode intéractif (pas dans un script)
    for i in *.JPG
    do
    mv $i `echo $i | sed s/^/$j\ -\ /`
    j=$((j+1))
    done

    --
    jezz from sysmic
    • [^] # Re: Renomer rapidement des fichiers

      Posté par  (site web personnel) . Évalué à 1.

      J'oubliais la puissance du shell. ${} offre plusieurs méthodes pour modifier le contenu d'une variable et j++ fonctionne:
      for i in *.JPG
      do
      mv $i ${i/.JPG/.jpg/}
      done
      change toutes les extention JPG en jpg.

      export j=0 # export n'est utile que si vous traviller en mode intéractif (pas dans un script)
      for i in *.JPG
      do
      mv $i $((j++))\ -\ $i
      done

      --
      jezz from sysmic
      • [^] # Re: Renomer rapidement des fichiers

        Posté par  . Évalué à 1.

        Mais ça ne marche plus si ton fichier comporte .JPG ailleurs qu'à la fin. (par exemple monimageen.JPG.JPG deviendra monimageen.jpg.JPG).

        La solution (en bash toujours) :
        $ for f in *.JPG ; do mv ${f} ${f%.JPG}.jpg ; done
    • [^] # Re: Renomer rapidement des fichiers

      Posté par  (site web personnel) . Évalué à 1.

      ... change toutes les extention JPG en jpg.

      Si je ne m'abuse tu peux écrire :
      rename JPG jpg *.JPG
  • # Re: Renomer rapidement des fichiers

    Posté par  . Évalué à 1.

    Pour les adeptes d'emacs, le mode dired offre une multitude de possibilités (comme d'hab ;-)

    D'abord on commence par afficher les fichiers (inutile d'être précis, l'étape suivante affinera la sélection)
    • ouvrir un dired (C-x d)
    • insérer un sous-répertoire (i)
    • utiliser find pour parcourir une arborescence (M-x find-dired)


    Puis on choisit les fichiers à renommer, supprimer, déplacer:
    • un par un
      • marquer un fichier (m)
      • annuler la marque précédente (DEL)
      • annuler la marque suivante (u)
      • conjointement avec C-u pour répéter
    • par bloc
      • selon l'extension (* .)
      • selon le contenu (% g)
      • selon une regexp (% m)

    • ... RTFM


    Puis on applique une action :
    • copie (C)
    • delete (D)
    • déplacer (R)
    • renommer à partir d'une regexp (% R)


    Enfin, on peut vérifier chaque cas en répondant y ou n ou terminer la modification par !
  • # Et avec rename

    Posté par  . Évalué à 2.

    Ex: je veux renommer Firefox en FireTobu, à la bourrin, sans utiliser FireSomething:

    cd sources-de-mozilla
    find . -exec rename 's/Firefox/FireTobu/g' {} \;
    find . -exec rename 's/firefox/firetobu/g' {} \;
    find . -exec sed -i 's/Firefox/FireTobu/g' {} \;
    find . -exec sed -i 's/firefox/firetobu/g' {} \;

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.