Forum Linux.général Traitement sur les noms de fichiers...

Posté par  .
Étiquettes : aucune
0
10
mai
2006
Salut,
Je recherche une commande qui me permettrait de faire un petit traitement sur les noms de fichier...
Un petit exemple :
find /etc -name '*.new' -exec diff {} ... \;
Dans cette commande, je souhaite faire une comparaison avec chaque fichier truc.new trouvés et leur homologue truc...
Mon problème, à partir du nom de fichier truc.new comment puis je obtenir truc pour faire la comparaison ?

En plus clair comment enlever l'extension (ou tout autre chose) du nom d'un fichier ?
  • # % en bash

    Posté par  (site web personnel, Mastodon) . Évalué à 2.

    Les lignes bash suivantes:
    MAVARIABLE=truc.new;
    echo ${MAVARIABLE};
    echo ${MAVARIABLE%.new}

    donne :
    truc.new
    truc
    • [^] # Re: % en bash

      Posté par  . Évalué à 1.

      Oui mais tu as un exemple avec la commande find car j'ai essayé mais rien ne marche...
    • [^] # basename en general

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

      basneame(1) est la pour ça:

      la commande "basename plop.new .new"
      donne "plop"
      maintenant, a toi de tout mettre en ordre

      ça donnerait quelque chose comme:

      find /etc -name '*.new' -exec diff {} `basename {} .new` \;

Suivre le flux des commentaires

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