GNU/Linux >> Linux Esercitazione >  >> Linux

Aggiunta di testo al nome file prima dell'estensione?

Vorrei aggiungere del testo alla fine del nome del file ma prima dell'estensione. In questo momento ci sto provando,

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

l'output è,

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

Voglio che lo sia,

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

Risposta accettata:

Utilizzando l'espansione dei parametri POSIX standard:

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

Linux
  1. Editor di testo ViM 101 Guida

  2. Come installare Vim (vi) su Windows 10

  3. Modificare una posta in arrivo da testo/normale a testo/html?

  4. Aggiungere testo alla fine di un file di testo?

  5. Aggiungere del testo alla fine del nome del file?

Prova l'editor di testo e3 Linux

Aggiunta di un emulatore di terminale aggiuntivo in Linux

Accesso di testo

Aggiunta di un nuovo servizio a Linux systemd

Usa sed con ignora maiuscole e minuscole durante l'aggiunta di testo prima di un modello

Come scartare un testo di 80 caratteri