GNU/Linux >> Tutoriels Linux >  >> Linux

Ajouter du texte au nom de fichier avant l'extension ?

Je voudrais ajouter du texte à la fin du nom de fichier mais avant l'extension. En ce moment j'essaie,

for f in *.shp; do echo $f_poly; done

la sortie est,

Quercus_acutifolia.shp_poly
Quercus_agrifolia.shp_poly
Quercus_corrugata.shp_poly
Quercus_cortesii.shp_poly
Quercus_costaricensis.shp_poly
Quercus_havardii.shp_poly
Quercus_hemisphaerica.shp_poly
Quercus_kelloggii.shp_poly
Quercus_knoblochii.shp_poly
Quercus_laceyi.shp_poly

Je veux que ce soit,

Quercus_acutifolia_poly.shp
Quercus_agrifolia_poly.shp
Quercus_corrugata_poly.shp
Quercus_cortesii_poly.shp
Quercus_costaricensis_poly.shp
Quercus_havardii_poly.shp
Quercus_hemisphaerica_poly.shp
Quercus_kelloggii_poly.shp
Quercus_knoblochii_poly.shp
Quercus_laceyi_poly.shp

Réponse acceptée :

Utilisation de l'extension de paramètre POSIX standard :

for f in *.shp; do printf '%s\n' "${f%.shp}_poly.shp"; done

Linux
  1. Ajouter un nouveau service à Linux systemd

  2. Guide de l'éditeur de texte ViM 101

  3. Comment insérer du texte avant la première ligne d'un fichier ?

  4. Utilisation du tiret (-) à la place d'un nom de fichier ?

  5. Omettre l'extension avec Find ?

Essayez l'éditeur de texte e3 Linux

Ajout d'un émulateur de terminal supplémentaire sous Linux

Connexion texte

Ajouter une adresse IP à un serveur Windows

Utilisez sed avec ignorer la casse lors de l'ajout de texte avant un motif

Comment extraire le nom de fichier sans l'extension d'un chemin complet ?