Menu

Numerotation des lignes en programmation shell

mohamed - 8 mai 2018 à 15:52 - Dernière réponse : lapiel 69 Messages postés jeudi 17 mai 2018Date d'inscription 11 octobre 2018 Dernière intervention
- 17 mai 2018 à 16:43
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

8 réponses

Nyctaclope 5316 Messages postés dimanche 6 avril 2008Date d'inscription 17 août 2018 Dernière intervention - 8 mai 2018 à 16:36
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 1014 Messages postés lundi 2 mai 2016Date d'inscription 12 octobre 2018 Dernière intervention > mohamed - 16 mai 2018 à 10:36
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
zipe31 35840 Messages postés dimanche 7 novembre 2010Date d'inscriptionContributeurStatut 14 octobre 2018 Dernière intervention - 8 mai 2018 à 16:41
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
Exileur 1333 Messages postés mercredi 31 août 2011Date d'inscription 13 octobre 2018 Dernière intervention - 17 mai 2018 à 11:27
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,
lapiel 69 Messages postés jeudi 17 mai 2018Date d'inscription 11 octobre 2018 Dernière intervention - 17 mai 2018 à 16:43
nl fichier

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