Menu

Numerotation des lignes en programmation shell

-
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




Afficher la suite 

Votre réponse

3 réponses

Messages postés
5316
Date d'inscription
dimanche 6 avril 2008
Dernière intervention
17 août 2018
1360
0
Merci
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+
bsr merci bien pour votre attention ! je me met au travail !bonne suite
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.
UnGnU
Messages postés
1109
Date d'inscription
lundi 2 mai 2016
Dernière intervention
22 janvier 2019
152 > 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 ?
Commenter la réponse de Nyctaclope
Messages postés
36088
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
20 janvier 2019
5714
0
Merci
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

ok merci bien pour votre attention!je vais corriger cela
Commenter la réponse de zipe31
Messages postés
1333
Date d'inscription
mercredi 31 août 2011
Dernière intervention
13 octobre 2018
91
0
Merci
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,
Utilisateur anonyme -
nl fichier

wc -l <fichier
Commenter la réponse de Exileur