Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1312 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [shell sous linux] besoin d'aide ...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[shell sous linux] besoin d'aide ...

n°682977
patastronc​h
Posté le 24-03-2004 à 16:22:36  profilanswer
 

Voila je débute en script (shell) et je voulais savoir comment a partir d'un script on affiche une ligne precise d'un fichier.
 
En fait je chercherai l'equivalent de head -n 1 fichier.txt pour afficher une ligne choisie au lieu de la premiere ligne  
 
merci d'avance


Message édité par patastronch le 24-03-2004 à 18:30:04
mood
Publicité
Posté le 24-03-2004 à 16:22:36  profilanswer
 

n°682984
jagstang
Pa Capona ಠ_ಠ
Posté le 24-03-2004 à 16:25:05  profilanswer
 

patastronch a écrit :


 
Sujet : question d un debutant surement deja posée
 
Voila je débute en script et je voulais savoir comment a partir d'un script on affiche une ligne precise d'un fichier.
 
En fait je chercherai l'equivalent de head -n 1 fichier.txt pour afficher une ligne choisie au lieu de la premiere ligne  
 
merci d'avance


Alors pourquoi tu n'utilises pas la fonction recherche du forum ?

n°682987
jagstang
Pa Capona ಠ_ಠ
Posté le 24-03-2004 à 16:27:28  profilanswer
 

entre nous je sais pas si on peut le faire

n°682993
patastronc​h
Posté le 24-03-2004 à 16:29:22  profilanswer
 

j ai cherché mais y a telment de post que j ai abandonné ...
 
On peut pas le faire ??? arf ...

n°683096
aigles
Posté le 24-03-2004 à 17:49:59  profilanswer
 

Si tu veux afficher une seule ligne, la 12 par exemple :
 
sed -n '12p' fichier
awk 'NR==12' fichier
 
Pour afficher un fichier à partir d'une ligne, la 12 par exemple :
 
tail +12 fichier
sed -n '12,$p' fichier
awk 'NR>=12' fichier


---------------
Jean Pierre.
n°683109
patastronc​h
Posté le 24-03-2004 à 18:08:26  profilanswer
 

merci beaucoup  
C est quoi exactement sed ? et awk ?
 
Et pour finir une derniere question:
Je recolte on va dire la phrase "voici le texte1" dans un fichier.
et maintenant chaque mot je voudrais l'identifier par exemple texte1 savoir le differentier de texte2 ou 3 . est il possible de recuperer un character precis dans un mot ?

n°683118
jagstang
Pa Capona ಠ_ಠ
Posté le 24-03-2004 à 18:14:07  profilanswer
 

pas sous nux. merci [:dawa]


Message édité par jagstang le 24-03-2004 à 18:14:25
n°683128
patastronc​h
Posté le 24-03-2004 à 18:18:55  profilanswer
 

ah ?? zut , en fait mon probleme c est : j ai plusieurs mot qui commence par A suivit d une valeur comme A1 ou A7 ou A89 melangé a dautres mots qui peuvent etre collé par exemple: voiA2A4vjA6 et je voudrais recuperer les A# separement ...
Quelqu un aurait une idée ?
 
sachant que je pourais tres bien avoir AZEA2ASE et il me faut recuperer que A2 dans ce mot.
merci d'avance


Message édité par patastronch le 24-03-2004 à 18:20:49
n°683131
jagstang
Pa Capona ಠ_ಠ
Posté le 24-03-2004 à 18:20:31  profilanswer
 

dos me semble léger dans ce cas. peut-être en python ou en C

n°683135
patastronc​h
Posté le 24-03-2004 à 18:22:29  profilanswer
 

euh c est pas du dos mais du shell sous linux (enfin ca doit se ressembler je pense)

mood
Publicité
Posté le 24-03-2004 à 18:22:29  profilanswer
 

n°683142
jagstang
Pa Capona ಠ_ಠ
Posté le 24-03-2004 à 18:25:24  profilanswer
 

pardon j'avais mal compris.

n°683145
jagstang
Pa Capona ಠ_ಠ
Posté le 24-03-2004 à 18:25:49  profilanswer
 

tu dois pouvoir y arriver dans ce cas. commence par changer le titre du topic

n°683146
patastronc​h
Posté le 24-03-2004 à 18:26:34  profilanswer
 

Ou sinon alors comment peut on appeler un programme en c a partir d'un script? par exemple mon script prendrait des arguments puis appelerait un programme c avec les arguments donné au script
mais je prefererais que ce soit que du shell si c est possible ...


Message édité par patastronch le 24-03-2004 à 18:27:44
n°683222
aigles
Posté le 24-03-2004 à 19:35:47  profilanswer
 

awk fait parti des commandes que l'on se doit de connaître si l'on veut écrire des scripts un tant soit peu évolués (au même titre que sed ou cut)
 
La commande suivante affiche tous les mots trouvés dans le fichier.
 

awk '
{
   while (match($0,/A[0-9]+/) >0) {
      print substr($0, RSTART, RLENGTH);
      $0 = substr($0,RSTART+1);
   }
' fichier


Message édité par aigles le 24-03-2004 à 19:37:39

---------------
Jean Pierre.
n°683233
patastronc​h
Posté le 24-03-2004 à 19:46:55  profilanswer
 

sincerement un grand merci, me reste pus qu a comprendre pourquoi ca marche =)
(il manque juste une petite incollade =)  )
 
D aileur si t as un site (en francais ...) qui explique bien les commande que tu utilises je suis preneur =)  
encore merci !!!

n°683247
patastronc​h
Posté le 24-03-2004 à 20:01:16  profilanswer
 

Il existe une commande qui permet de determiner le type d'un variable ?
par exemple pour savoir si $2 est un entier ?


Message édité par patastronch le 24-03-2004 à 20:27:22
n°683417
aigles
Posté le 24-03-2004 à 22:54:26  profilanswer
 

if expr "$2" : '[0-9]\+$' > /dev/null
then
   echo Numeric
fi
 


---------------
Jean Pierre.
n°683449
matafan
Posté le 25-03-2004 à 02:21:00  profilanswer
 

Sinon pour avoir la ligne N tu peux toujours faire head -n N | tail -n 1.

n°683573
aigles
Posté le 25-03-2004 à 10:45:12  profilanswer
 

En voyant la solution tail/head qui fonctionne trés bien, je me suis dit qu'en terme de perf ce n'est pas trés optimisé, les N lignes sont lues 2 fois.
Du coup j'ai repris les deux commandes que j'avais indiqué car elles aussi ne sont pas optimisées. Dans les deux cas, une fois la ligne trouvée et affichée on continu à lire le fichier d'entrée, ce qui n'est pas top.
 
Voici donc les nouvelles versions des commandes :
 
sed -n '12{;p;s;}' fichier
awk 'NR==2 {print;exit}' fichier
 
 
 
@patastronch
Ne cumule pas les questions dans un même sujet (affichae ligne, récup mots, test numéricité), ouvre un nouveau sujet par question.


---------------
Jean Pierre.
n°683583
skeye
Posté le 25-03-2004 à 10:57:46  profilanswer
 

aigles a écrit :

@patastronch
Ne cumule pas les questions dans un même sujet (affichae ligne, récup mots, test numéricité), ouvre un nouveau sujet par question.


Non, tant que ça a un rapport avec la question initiale...
http://forum.hardware.fr/forum2.ph [...] 544&cat=10

Citation :

[08] Si vous avez une autre question qui a un rapport étroit avec la première, et que les personnes qui vous ont répondu la premère fois sont susceptibles d'y répondre, posez la question dans le même topic, en modifiant éventuellement le titre si cela vous paraît approprié. Cela permet de ne pas devoir réexpliquer tout le contexte ou évite que les participants posent des questions répondues précédemment.

n°683801
aigles
Posté le 25-03-2004 à 14:24:20  profilanswer
 

Les trois questions n'ont pas de rapport entre elles si ce n'est que c'est de la programmation shell.
 
Si l'on considère qu'elles ont toutes un rapport étroit ou un contexte commun, alors patastronch peut poser toutes les questions qu'il veut dans se sujet et ce jusqu'à qu'il maîtrise suffisamment le shell pour pouvoir se passer de ce forum.
 
C'est une idée à creuser ça, un sujet par auteur et non par question...


---------------
Jean Pierre.
n°684562
patastronc​h
Posté le 26-03-2004 à 03:24:53  profilanswer
 

eh ne vous enguelez pas pour ca j ouvrirais un autre topic la prochaine fois aigle a raison ce sont des questions totalement differentes.
Merci pour votre aide je commence a comprendre le fonctionnement.

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [shell sous linux] besoin d'aide ...

 

Sujets relatifs
carte à puce, de l'aide please !!!!!! :'([SQL] aide pour la création d une requete
opengl/linux : ATI et NVIDIA : le mystere de glXGetProcAddressaide debutant
besoin d'aide yacc/bisonBesoin d'aide en yacc/bison
Erreur lors du déploiement sur serveur LinuxBesoins d'aide SVP
Plus de sujets relatifs à : [shell sous linux] besoin d'aide ...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR