GNU/Linux >> Linux の 問題 >  >> Linux

拡張子の前にファイル名にテキストを追加しますか?

ファイル名の末尾の拡張子の前にテキストを追加したいと思います。今試しています

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

出力は、

です。
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

なりたい

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

承認された回答:

標準のPOSIXパラメーター拡張の使用:

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

Linux
  1. Linuxsystemdに新しいサービスを追加する

  2. ViMテキストエディタ101ガイド

  3. ファイル名の代わりにダッシュ(-)を使用しますか?

  1. 検索で拡張機能を省略しますか?

  2. BASH で mv を使用してファイル名にタイムスタンプを追加する

  3. ファイル名に / を使用できますか?

  1. Windows 10にVim(vi)をインストールする方法

  2. パターンの前にテキストを追加する際に、大文字と小文字を区別しないで sed を使用する

  3. 80 文字のテキストをアンラップする方法