Forum Programmation.shell Nommage avec incrémentation automatique.

Posté par  .
Étiquettes : aucune
0
20
août
2007
Bonjour,

Je me suis crée un script qui me permet de faire des copies d'écrans.
Les fichiers générés sont stockés dans mon répertoire utilisateur.

Je souhaiterai utiliser un mécanisme simple me permettant d'attribuer un nom unique à chacun de ces fichiers.

Je voudrais une incrémentation classique du type :

Screenshot 1
Screenshot 2
etc ..

Ou mieux avec insertion de 0 pour que le tri lexicographique soit pertinent :
Screenshot 01
Screenshot 02
etc ..

Pour l'instant je suis en panne d'idée sur la façon de faire ça simplement (pas mal d'embûches) alors je me suis replié sur un nommage incorporant la date de création.

Mais ... je ne suis pas satisfait, j'aimerais faire un truc qui fasse pro quoi ! :))

Voici un snippet de mon code :


#!/bin/bash

# needs imagemagick's tools
# doc
# http://www.imagemagick.org/script/import.php

new_name() {
echo ~/screenshot`date +%y%m%d%H%M%S`.png
}

case $1 in
--window)
import -frame -screen -display :0 `new_name`
;;
--screen)
import -window root -display :0 `new_name`
;;
*)
echo "options :
--screen
--window"
;;
esac

Des idées ? Merci pour vos commentaires !
  • # Exemples

    Posté par  . Évalué à 2.

    new_name=screenshot$(( $(ls screenshot* | sed -e 's/^screenshot//' | sort -n | tail -1) + 1 )) -> crée des fichiers screenshot1, screenshot2, ..., screenshot10, ... new_name=$(printf "screenshot%0.2d" $(( $(ls screenshot* | sed -e 's/^screenshot//' | sort -n | tail -1) + 1 )) ) -> crée des fichiers screenshot01, screenshot02, ..., screenshot10, ..., screenshot99, screenshot100, ...

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.