Pages : 1
#1 Le 21/03/2008, à 20:48
- ayag
aide pour un script
bonjour je sais pas si je suis dans le bon endroit, pour avoir une réponse à la question suivante:
je veux faire un script qui est capable d'effacer deux lignes qui se suivent dans un fichier, le paramètre que je reçois c'est le nom de la personne que je dois enlever de mon fichier aussi je dois supprimer la ligne qui la suit, j'ai fait ce bout de code
#!/bin/bash
exist=`ls -l | grep 'nom.txt' | wc -l`
if [ $exist -eq 1 ]
then
if [ $exist = 1 ]
then
read nom<nom.txt
exist2=`cat lon.txt | grep $nom | wc -l`
if [ $exist2 = 1 ]
then
rm -Rf $nom
cp lon.txt lon_bkp
cat lon_bkp | grep -v $nom> lon.txt #ici j'arrive à effacer la ligne ou existe le nom
rm -f lon_bkp
fi
fi
fi
merci pour votre aide
Hors ligne
#2 Le 22/03/2008, à 10:04
- masterlolo
Re : aide pour un script
effacer deux lignes qui se suivent dans un fichier
la commande "uniq" peut éventuellement t'aider
cat tonfichier.txt | uniq ---> cela va supprimer les lignes identiques dans ton fichier
Hors ligne
#3 Le 22/03/2008, à 17:33
- ayag
Re : aide pour un script
ayag a écrit :effacer deux lignes qui se suivent dans un fichier
la commande "uniq" peut éventuellement t'aider
cat tonfichier.txt | uniq ---> cela va supprimer les lignes identiques dans ton fichier
merci pour ta suggestion
les informations sur le fichier no sont pas identique: il y a une ligne nom et celle qui la suit c'est le login
alors moi je reçois juste le nom et je doit effacer aussi le login
Hors ligne
#4 Le 22/03/2008, à 19:28
- Uggy
Re : aide pour un script
Donne nous lla forme précise du fichier source, ca sera + simple, (il n'y a qu'un mot par ligne ? ou pas .. ? )
$ cat toto
qdqsqsd qsd
qsd qsd qd qsd
qsdq sdqsid qsdq
dqs ql hdqsdqsd
monnom qsdfjksd hfsdj fhsdkjhfsdf
monlogin dehdkqsjh qjkdqs
qsdkj hqksjdhqs
$ grep -A1 monnom toto
monnom qsdfjksd hfsdj fhsdkjhfsdf
monlogin dehdkqsjh qjkdqs
$
Dernière modification par Uggy (Le 22/03/2008, à 19:28)
Hors ligne
Pages : 1