[gelöst] Dateinamen bilden nach dem Muster 001, 002 ... 101

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
wckl
Beiträge: 826
Registriert: 10.08.2007 15:26:28
Lizenz eigener Beiträge: GNU General Public License
Wohnort: St. Georges de Didonne

[gelöst] Dateinamen bilden nach dem Muster 001, 002 ... 101

Beitrag von wckl » 11.08.2008 14:58:07

Hallo,
ich möchte Dateinamen bilden, sie sollen einfach numerisch hochgezählt werden.
Die Namen sollen aber formatiert sein, mit führenden Nullen.
Also z.B. 001, 002 ... 010 011 ... 100, 101 ...

Code: Alles auswählen

name=`expr %name +1`
reicht hierfür ja wohl nicht.
Wie kann ich das am einfachsten mit bash realisieren?

Vielen Dank, wckl
Zuletzt geändert von wckl am 11.08.2008 15:15:47, insgesamt 1-mal geändert.

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Re: Dateinamen bilden nach dem Muster 001, 002 ... 101 ...

Beitrag von gms » 11.08.2008 15:07:55

Code: Alles auswählen

gms2 ~ # id=9
gms2 ~ # name=$(printf "%04d" $id ) id=$((id+1))
gms2 ~ # echo "name=$name id=$id"
name=0009 id=10
Gruß
gms

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Re: Dateinamen bilden nach dem Muster 001, 002 ... 101 ...

Beitrag von Duff » 11.08.2008 15:08:32

Du könntest dass Ganze z.B. so machen:

Code: Alles auswählen

#!/bin/bash

NAME=test
COUNT=100
i=1
x=2

while [ $i -le $COUNT ]
do
	printf "%03d \n" $i
	i=$[$i+$x]
done
Ergibt:

Code: Alles auswählen

001 
003 
005 
007 
009 
011 
...
095 
097 
099 
Oh, yeah!

wckl
Beiträge: 826
Registriert: 10.08.2007 15:26:28
Lizenz eigener Beiträge: GNU General Public License
Wohnort: St. Georges de Didonne

Re: [gelöst] Dateinamen bilden nach dem Muster 001, 002 ... 101

Beitrag von wckl » 11.08.2008 15:16:51

Vielen Dank
wckl

Antworten