Numerotation des lignes en programmation shell

mohamed -  
 Utilisateur anonyme -
Bonjour, svp j'essaie de numéroter les taches que j'insère dans mon fichier.txt mais j'y arrive pas.Pouvez-vous m'aider à trouver une solution?voici mon code:
#!/bin/bash

echo " Vos donnée seront stockée dans le repertoire Tache "
mkdir Tache
cd Tache
touch fichier.txt


read -p" Veuillez insérer votre tache: " tach
echo " $tach  "  >>fichier.txt
cpt=1
while read tach
do
echo " ${cpt} ${tach} "
(( cpt++ ))
done >>fichier.txt

echo -n " tache enregistrer avec succes! "
echo -n "voulez vous continuer Y/N: "
read ouinon
if [ "$ouinon" = "y" ] || [ "ouinon" = "Y" ] ; 
then
for ouinon in "y"
do
    read -p" Veuillez insérer votre tache: " tach
echo " $tach " >>fichier.txt
echo -n " tache enregistrer avec succes! "
done
 elif [ "$ouinon" = "n" ] || [ "ouinon" = "N" ] ;
  then
echo "Ok, bye! "
fi 
done >>fichier.txt


3 réponses

  1. Nyctaclope Messages postés 5295 Date d'inscription   Statut Membre Dernière intervention   1 254
     
    Bonjour,
    sans doute quelque chose du genre :
    echo " ${cpt} $tach " >>fichier.txt
    à tester ...
    mais tout dépend de l'exploitation que tu veux en faire par la suite ..
    A+
    0
    1. mohamed
       
      bsr merci bien pour votre attention ! je me met au travail !bonne suite
      0
    2. mohamed
       
      bsr j'ai tester le code et essayé quelques modifications mais ca marche pas la tache est numérotée mais repeté plusieurs fois.je compte juste liste les taches inserées avec l'appel d'une fonction mais je tient à numéroter les taches d'abord.merci pour votre attention.
      0
      1. UnGnU Messages postés 1468 Statut Contributeur 158 > mohamed
         
        Salut,

        Petite question (qui rejoint celle de zipe31 ci-dessous) :
        Arrives-tu à faire une boucle infinie qui te demande d'insérer une tâche et que tu puisses arrêter à tout moment ?
        0
  2. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    Salut,

    Avant de vouloir faire des choses plus ou moins compliquées, il faudrait déjà t'assurer que ton script puisse faire une boucle "tant que" (
    while
    ) qui ajoute bien des tâches tant qu'on le lui demande et qui s'arrête lorsqu'on le souhaite.

    Quand ça ça marchera, tu seras alors à même de t'inquiéter de numéroter chaque tâche ajoutée ;-\

    Une piste, avec une boucle
    while true
    utilisée conjointement avec
    case…esac
    on utilise souvent les commandes
    continue
    et
    break

    0
    1. mohamed
       
      ok merci bien pour votre attention!je vais corriger cela
      0
  3. Exileur Messages postés 1621 Date d'inscription   Statut Membre Dernière intervention   150
     
    Salut,

    Si tu peux te le permettre, tu peux écrire toutes tes taches et faire le compte à la fin !

    Affiche 1 premiére tache (ligne)
    taches=$(cat -n fichier.txt)


    Affiche le nombre total de taches (lignes)
    nb_taches=$(cat fichier.txt |wc -l)


    A plus,
    0
    1. Utilisateur anonyme
       
      nl fichier

      wc -l <fichier
      0