OVH Cloud OVH Cloud

Comment numéroter automatiquement les fichiers présents dans un répertoire?

3 réponses
Avatar
guytou77
Bonjour à tous,

Comment faire pour numéroter automatiquement par un script SHELL tous les
fichiers présents dans le répertoire "/home/toto/"?
Les fichiers sont numérotés de 1 à n:

1-***
2-***
3-***
.........
.........
n-***

Par avance merci pour votre aide.

GUY

3 réponses

Avatar
Fred
Bonjour à tous,

Comment faire pour numéroter automatiquement par un script SHELL tous les
fichiers présents dans le répertoire "/home/toto/"?
Les fichiers sont numérotés de 1 à n:

1-***
2-***
3-***
.........
.........
n-***

Par avance merci pour votre aide.

GUY




I=1
for F in *
do
mv $F $I-$F
I=$(($I+1))
done



A+
Fred

Avatar
Stephane Chazelas
On Fri, 30 Sep 2005 09:13:48 +0200, guytou77 wrote:
Bonjour à tous,

Comment faire pour numéroter automatiquement par un script SHELL tous les
fichiers présents dans le répertoire "/home/toto/"?
Les fichiers sont numérotés de 1 à n:

1-***
2-***
3-***
.........
.........
n-***
[...]


autoload -U zmv # a mettre dans ~/.zshrc

n=0
cd /home/toto &&
zmv '*' '$((++n))-$f'

(avec le shell zsh, bien sur). Ca les numerote dans l'ordre
alphabetique. Et ca ne numerote pas les fichiers cachés. Si tu
veux les numeroter dans l'ordre de derniere modification et
inclure les fichiers cachés et ne pas numeroter les repertoires:

n=0; zmv -Q '*(omD^/)' '$((++n))-$f'

Mais je suggererais plutot de les numeroter

01-...
02-...

(s'il y en a moins de 100) pour qu'ils soient dans l'ordre quand
on fait un ls).

n=0; zmv -Q '*(^/)' '${(l:2::0:)$((++n))}-$f'


--
Stephane

Avatar
Stephane Chazelas
On Fri, 30 Sep 2005 09:32:17 +0200, Fred wrote:
[...]
I=1
for F in *
do
mv $F $I-$F


mv -- "$F" "$I-$F"

I=$(($I+1))
done


--
Stephane