GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Hinzufügen von Text zum Dateinamen vor der Erweiterung?

Ich möchte Text am Ende des Dateinamens, aber vor der Erweiterung hinzufügen. Ich versuche es gerade,

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

die Ausgabe ist,

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

Ich möchte, dass es so ist,

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

Akzeptierte Antwort:

Verwendung der standardmäßigen POSIX-Parametererweiterung:

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

Linux
  1. So installieren Sie Vim (vi) unter Windows 10

  2. Wie fügt man Text vor der ersten Zeile einer Datei ein?

  3. Eine eingehende Mail von Text/plain zu Text/html ändern?

  4. Text an das Ende einer Textdatei anhängen?

  5. So entpacken Sie 80-Zeichen-Text

Probieren Sie den e3-Linux-Texteditor aus

Hinzufügen eines zusätzlichen Terminalemulators in Linux

Textanmeldung

Hinzufügen eines Zeitstempels zu einem Dateinamen mit mv in BASH

Ist es möglich, / in einem Dateinamen zu verwenden?

Verwenden Sie sed mit ignorierter Groß-/Kleinschreibung, während Sie Text vor einem Muster hinzufügen