OVH Cloud OVH Cloud

grep ls et pipe sont au terminal

30 réponses
Avatar
pere.noel
en ruby j'ai un problème avec "Date", je dois chercher quel est le
sagouin de fichier qui met le boxon.

bon, là je fais :

grep -n [Date] -f le fichier

mais c'est un peu fastidieux, j'aimerais bien, au moins filer la sortie
de ls à grep, mais comme les arguments de fichiers se trouvent en
dernier, comment fait-on ?

je suppose que ce n'est pas un pipe...

et pour le faire récursivement ?

--
une bévue

10 réponses

1 2 3
Avatar
pere.noel
Vincent Lefevre <vincent+ wrote:

Ou la solution **/* de zsh (cela permet d'être plus flexible sur les
fichiers à inclure), mais zsh doit générer la liste des fichiers avant
d'appeler grep, et cf ci-dessus.


oui, je préfère ça, permettant un **/*.rb, je suppose, ça évite les
bins... (ext .bundle par ex ou pas d'ext)
--
une bévue

Avatar
pere.noel
Jérôme Laheurte wrote:

Perso j'utilise le bon vieux (pour des fichiers C par exemple)

find -name "*.c" | xargs grep monpattern

Trés pratique, xargs. Peut-être un peu bourrin ici mais dans d'autres
circonstances ça économise pas mal d'efforts...


oui, merci, j'ai vu ça aussi en trifouillant avec google ))

j'essaierai, un peu plus tard...
--
une bévue

Avatar
pere.noel
Vincent Lefevre <vincent+ wrote:

Un .*$ est inutile en fin de regexp pour grep, sauf éventuellement
si tu colores la partie matchée.


oui, j'aimerais coloriser la partie machise, mais sans le .* final, qui
ne m'intéresse pas, seul Date m'intéresse ni :

blahblahDate ni

Date.parse

je veux juste les lignes où il ya Date avec une espace devant et une
espace derrière :

" Date " et à condition qu'il n'y ait pas eu un "#" (mise en
commentaire) avant.

--
une bévue

Avatar
Saïd
Une bévue :
en ruby j'ai un problème avec "Date", je dois chercher quel est le
sagouin de fichier qui met le boxon.

bon, là je fais :

grep -n [Date] -f le fichier



grep -n Date `ls`

Plus generalement `commande` est remplace sur la ligne par le resultat de
la commande.

--
Sind zu sein und es seiend in einem Schiff. Fällt zu sein hat das Wasser.
Wer bleibt er? -- Heidegger

Avatar
blanc
Une bévue wrote:

je veux juste les lignes où il ya Date avec une espace devant et une
espace derrière :


Donc on arrive à :
'^[^#n]*[s ]Date '

JPaul.
--
/==/==- Jean-Paul BLANC
/ /--/--// quelque-part (somewhere)
|/| L | en (in)
/|| = ||| FRANCE

Avatar
pere.noel
Saïd wrote:


Plus generalement `commande` est remplace sur la ligne par le resultat de
la commande.


peut-on *aussi* récupérer les messages d'erreur comme ca ?

passe ke dans un bout de prog je fais un toto=`xsltproc machintrucmuche`

je récupère un doublon de la sortie (doublon du fichier xml produit)
mais pas le code de sortie de xsltproc ??? (qui varie de 0 à 2)

???
--
une bévue

Avatar
pere.noel
JPaul wrote:

Donc on arrive à :
'^[^#n]*[s ]Date '


j'avoue qu'elle a une très bonne tête cependant elle me sort le résultat
le plus piteux )))

dit-il dithyrambique le lundi matin de bonne humeur ;-)

une seule ligne...

--
une bévue

Avatar
Vincent Lefevre
Dans l'article ,
Saïd écrit:

grep -n Date `ls`

Plus generalement `commande` est remplace sur la ligne par le
resultat de la commande.


Autant éviter ls quand c'est possible. En général, tu peux remplacer
`ls` par * ou quelque chose de similaire. Cependant, ls avec des
options peut permettre un ordre différent, par exemple par date.

--
Vincent Lefèvre - Web: <http://www.vinc17.org/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/>
Work: CR INRIA - computer arithmetic / SPACES project at LORIA

Avatar
luc
Une bévue wrote:

je récupère un doublon de la sortie (doublon du fichier xml produit)
mais pas le code de sortie de xsltproc ??? (qui varie de 0 à 2)


foo = `xsltproc foo bar`
puts $?.exitstatus

Et si tu es allergique aux perlismes et autres globales comme celle
utilisée ici ($?), ce qui est totalement compréhensible:

require 'English'
foo = `xsltproc foo bar`
puts $CHILD_STATUS.exitstatus

--
Luc Heinrich

Avatar
luc
Luc Heinrich wrote:

[n'importe quoi]


Haem, ouais, ok, je devrais pas poster le lundi matin juste avant le
p'tit dej'. J'avais pas vu que c'était du shell que tu voulais. Oubliez
moi... :)

--
Luc Heinrich

1 2 3