Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/01/2008, 15h55   #1
Invité de passage
 
Inscription : janvier 2008
Messages : 2
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 2
Points : 1
Points : 1
Par défaut Correction shell unix

Bonjour a tous !
Voila ,je veux afficher que les ligne 4 et 5 de l'emsemble de fichier existant dans mon rep. etr renvoyer le resultat dans un autre fichier :
Code :
1
2
3
4
#!/bin/ksh
for i in `ls` do;
head -5 $i|sed "1,3d">>toto.txt
done
J'ai une erreur :
Citation:
./test1.ksh[2]: 0403-057 Syntax error at line 3 : `"head -5 $i"' is not expected
qlq a une reponse SVP ?
Merci !
papou20 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2008, 18h08   #2
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 546
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juillet 2006
Messages : 3 546
Points : 7 779
Points : 7 779
Citation:
Envoyé par papou20 Voir le message
Bonjour a tous !
Voila ,je veux afficher que les ligne 4 et 5 de l'emsemble de fichier existant dans mon rep. etr renvoyer le resultat dans un autre fichier :
#!/bin/ksh
for i in `ls` do;
head -5 $i|sed "1,3d">>toto.txt
done

J'ai une erreur :
./test1.ksh[2]: 0403-057 Syntax error at line 3 : `"head -5 $i"' is not expected

qlq a une reponse SVP ?
Merci !
essayes comme ca mais pour un scipt si court qui tiens en une commande unique c'est domage de faire un script a moins de devoir y faire appel souvent...

de plus le code contient une grosse erreur si le script doit être appeler souvent, ilne purge pas toto.txt avant de se lancer donc il y aurai des infos en doubles chaque fois que tu lancerai le script dans un répertoire ou il a deja tourne
et surtout tu en sors sans generer de code retour...

Code :
1
2
3
4
5
6
#!/bin/ksh
if [ -f toto.txt ] ; then rm toto.txt ; fi
for i in `ls` ; do 
head -5 $i | sed "1,3d">>toto.txt
done
exit $?
pour le lancer en une ligne

Code :
1
2
>if [ -f toto.txt ] ; then rm toto.txt ; fi ; for i in * ; do head -5 $i | sed "1,3d">>toto.txt ; done
>
de plus pour afficher les lignes 4-5 d'un fichier il y a plus simple je pense.

ca par exemple :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
$ for i in * ; do sed -e "1,3d;6,\$d" $i ; done
ggg
hhh
$ cat toot
fff
fff
fff
ggg
hhh
ffff
fff
fff
$rm toot
frp31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2008, 09h05   #3
Invité de passage
 
Inscription : janvier 2008
Messages : 2
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 2
Points : 1
Points : 1
Merci !! Ça marche !!
papou20 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h42.


 
 
 
 
Partenaires

Hébergement Web