expression régulière shell - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 12-11-2006 à 13:15:56
j'ai un petit problème maintenant pour mettre le nombre de ligne d'un fichier dans une variable :
j'essaie de faire : nbl = wc -l fichier mais ca ne marche pas et je vois pas d'où vient l'erreur...
Marsh Posté le 12-11-2006 à 13:22:38
benji38 a écrit : j'ai un petit problème maintenant pour mettre le nombre de ligne d'un fichier dans une variable : |
nbl=`wc -l fichier` ou alors sous bash nbl=$(wc -l fichier)
Préfère cependant la première expression (compatible sh).
Marsh Posté le 12-11-2006 à 13:29:13
ReplyMarsh Posté le 12-11-2006 à 13:37:24
benji38 a écrit : pourquoi quand j'essaie de faire expr $nbl / 2 ça ne marche pas ? |
Présentement ta variable $nbl est de la forme <nb_lignes> <nom_fichier>. Il faut isoler <nb_lignes> pour que expr fonctionne.
nbl=`cat <nom_fichier> | wc -l`
Ici $nbl ne contiendra que le nombre de lignes.
Tu peux aussi utiliser les commandes cut ou awk.
Marsh Posté le 12-11-2006 à 13:38:34
ah ouai d'accord, merci. aucune option de wc ne permet d'afficher seulement le nombre de ligne ?
Marsh Posté le 12-11-2006 à 13:43:15
benji38 a écrit : ah ouai d'accord, merci. aucune option de wc ne permet d'afficher seulement le nombre de ligne ? |
Ce n'est pas indiqué dans le manuel en tout cas.
Tu as aussi cette forme : nbl=`wc -l < <nom_fichier>`
Marsh Posté le 12-11-2006 à 18:55:50
J'ai encore besoin de votre aide...
j'essaie depuis un petit moment de faire une ligne de commande ou un enchainement de commande permettant d'afficher la valeur de la somme des entiers d'un fichier xxx (le fichier xxx contient un entier par ligne).
J'ai essayé avec sed mais je n'y arrive pas, je sais même pas s'il faut utiliser sed d'ailleurs !
Marsh Posté le 13-11-2006 à 10:10:45
Tu peux faire ça simplement avec le shell :
#! /bin/sh |
Marsh Posté le 12-11-2006 à 12:53:13
bonjour a tous !
voila je cherche l'expression régulière sous unix qui permet de trouver les lignes se terminant par une parenthèse fermante suivie d'un nombre inconnu de caractère "espace".
Je pensait à *" )"" "* mais je ne sais pas si ça marche :$
merci d'avance pour votre aide
Message édité par benji38 le 12-11-2006 à 12:53:32