OVH Cloud OVH Cloud

grep retourner une liste de serveurs

13 réponses
Avatar
yvon.thoravalNO-SPAM
j'ai un fichier de config qui contient les lignes suivantes :

server = News.Individual.NET
server = news.free.fr
server = news.eclipse.org


si je fais :

sudo grep "^[[:space:]]*server[[:space:]]*=[[:space:]]*"
/etc/leafnode/config

ça ne me retourne bien que ces lignes là (le fichier de conf contient un
tas d'autres ligne.

Mais ce que je voudrais c'est obtenir un "tableau" comme ça :

News.Individual.NET
news.free.fr
news.eclipse.org

de manière à tester, individuellement, si le serveur est reachable



--
yt

10 réponses

1 2
Avatar
yvon.thoravalNO-SPAM
Yvon Thoraval wrote:

Mais ce que je voudrais c'est obtenir un "tableau" comme ça :

News.Individual.NET
news.free.fr
news.eclipse.org


bon là, j'ai progressé car un :

sudo grep "^[[:space:]]*server[[:space:]]*=[[:space:]]*"
/etc/leafnode/config | tr -s " " | cut -d" " -f 3

me donne la bonne réponse au term, càd uniquement :

News.Individual.NET
news.free.fr
news.eclipse.org

maintenant, ce que je ne pige c'est si c'est une liste de trois
arguments ou un seul argument de trois lignes, le but de la manip étant
de faire :

scutil -r News.Individual.NET

scutil -r news.free.fr

scutil -r news.eclipse.org

sur chaque serveur et de lever une var qcq à 1 si au moins un des
serveurs est Reachable (càd si au moins une fois la réponse à scutil -r
<server> retourne "Reachable")...
--
yt

Avatar
Olivier Croquette
Yvon Thoraval wrote:
sur chaque serveur et de lever une var qcq à 1 si au moins un des
serveurs est Reachable (càd si au moins une fois la réponse à scutil -r
<server> retourne "Reachable")...


Un truc du genre :

awk '/^server / {print $3}' TONFICHIER | while read name ; do if test
"`scutil -r $name`" == "Reachable" ;then echo $name OK; fi; done

--
Olivier

Avatar
yvon.thoravalNO-SPAM
Olivier Croquette wrote:

awk '/^server / {print $3}' TONFICHIER | while read name ; do if test
"`scutil -r $name`" == "Reachable" ;then echo $name OK; fi; done


merci, je ne connais pas awk, j'ai fait cela comme ça :

----------------------------------------------------
#! /bin/sh
# script /usr/local/sbin/checkup

drapeau=1

for p in `grep "^[[:space:]]*server[[:space:]]*=[[:space:]]*"
/etc/leafnode/config | tr -s " " | cut -d" " -f 3`
do
if [ -n "`scutil -r $p | grep Reachable`" ]; then
if [ -n "`ps -ax | grep MacSOUP`" ]; then
fetchnews
fi
drapeau=0
break
fi
done

exit $drapeau

----------------------------------------------------

sans vraiment piger la sytaxe de tr et de cut ...
--
yt

Avatar
Vincent NICOLAS
In article <1gk3dfj.12udrcp19yvqfkN%,
(Yvon Thoraval) wrote:

sans vraiment piger la sytaxe de tr et de cut ...


Ben...
man cut

man tr

:-)


--
Vincent Nicolas
En direct de Lyon


Avatar
yvon.thoravalNO-SPAM
Vincent NICOLAS wrote:

man cut

man tr


ouais, merci pour ta solicitude, c'est un peu abscons comme doc là....

ça manque d'exemples...
--
yt

Avatar
lucsky
Yvon Thoraval wrote:

merci, je ne connais pas awk, j'ai fait cela comme ça :

----------------------------------------------------
#! /bin/sh
# script /usr/local/sbin/checkup

drapeau=1

for p in `grep "^[[:space:]]*server[[:space:]]*=[[:space:]]*"
/etc/leafnode/config | tr -s " " | cut -d" " -f 3`
do
if [ -n "`scutil -r $p | grep Reachable`" ]; then
if [ -n "`ps -ax | grep MacSOUP`" ]; then
fetchnews
fi
drapeau=0
break
fi
done

exit $drapeau

----------------------------------------------------

sans vraiment piger la sytaxe de tr et de cut ...


(soupir)

Et pourquoi tu utiliserais pas un truc correctement documenté alors ?
Hein ? :)

----------------------------------------------------
#! /usr/bin/ruby

File.open( "/etc/leafnode/config" ) do |file|
for line in file
if line =~ /^s*servers*=s*(.*)/
if `scutil -r #{$1}`.chomp == "Reachable"
unless `ps -acx | grep MacSOUP`.empty?
system "fetchnews"
exit 0
end
end
end
end
end

exit 1
----------------------------------------------------

J'ai just remplacé les [[:space:]] par des s dans l'expression
regulière pour que ça rentre en largeur dans le post.

--
Luc Heinrich -

Avatar
yvon.thoravalNO-SPAM
Luc Heinrich wrote:

Et pourquoi tu utiliserais pas un truc correctement documenté alors ?
Hein ? :)


Ben la docum ruby...

Merci encore pour ton script ruby, en fait je ne retrouvais pas la
manière de lancer scutil -r avec ruby

c'est + chouette en ruby tout de même je te l'accorde, mais où
trouves-tu la docum concernant l'usage des commandes shell ?

J'ai just remplacé les [[:space:]] par des s dans l'expression
regulière pour que ça rentre en largeur dans le post.


ouais, c'est mieux...
--
yt

Avatar
yvon.thoravalNO-SPAM
Yvon Thoraval wrote:

c'est + chouette en ruby tout de même je te l'accorde, mais où
trouves-tu la docum concernant l'usage des commandes shell ?


j'ai trouvé cette page :

http://www.zenspider.com/Languages/Ruby/QuickRef.html
--
yt

Avatar
lucsky
Yvon Thoraval wrote:

Ben la docum ruby...


Programming Ruby, la version online gratos:
<http://www.rubycentral.com/book/index.html>

La version annoté:
<http://phrogz.net/ProgrammingRuby/>

La seconde édition qui sort le 3 octobre:
<http://pragmaticprogrammer.com/shopsite_sc/store/html/page5.html>

L'excellent "The Ruby Way":
<http://www.amazon.com/exec/obidos/ISBN72320835>

La FAQ:
<http://www.rubygarden.org/iowa/faqtotum>

Introduction To Ruby:
<http://www.math.umd.edu/%7Edcarrera/ruby/0.3/>

Things That Newcomers to Ruby Should Know:
<http://www.glue.umd.edu/%7Ebilltj/ruby.html>

La lib standard:
<http://www.ruby-doc.org/stdlib/>

Les nouveautés de Ruby 1.8:
<http://dev.faeriemud.org/changes-1.8.0.html>

Le "Poignant Guide To Ruby":
<http://poignantguide.net/ruby/index.html>

Je continue ? ;)

--
Luc Heinrich -

Avatar
yvon.thoravalNO-SPAM
Luc Heinrich wrote:

Je continue ? ;)


http://jruby.sourceforge.net/documentation.html
http://www.kuwata-lab.com/webtech/kwartz/
http://pine.fm/LearnToProgram/?Chapter
http://ruby-miscutils.sourceforge.net/
http://www.rubycentral.com/book/tut_expressions.html
http://www.projectomega.org/article.php?lg=fr&php=tuts_ruby&p=1
http://raa.ruby-lang.org/list.rhtml?name=ruby-rbtree
http://rdoc.sourceforge.net/doc/index.html
http://phrogz.net/RubyLibs/rdoc/index.html
http://www.zytrax.com/tech/lang/ruby/
http://www.syngress.com/book_catalog/183_ruby/
http://www.ruby-lang.org/en/doc.html
http://perso.wanadoo.fr/alain.feler/index.html
http://www.ruby-lang.org/en/
http://archipelago.phrasewise.com/stories/storyReader$993
http://www.math.hokudai.ac.jp/~gotoken/ruby/ruby-uguide/uguide00.html
http://www.geocities.co.jp/SiliconValley-Oakland/2986/rubycarbon/
http://www.rubygarden.org/ruby?CodingInRuby
http://www.rubygarden.org/ruby
http://www.ruby.ch/tutorial/
http://rubyforge.org/project/showfiles.php?group_idR&release_id#3
http://rubygems.rubyforge.org/wiki/wiki.pl?Quick_Introduction
http://clabs.org/ruby.htm
http://www.starware.one.pl/software/sws/doc/docbook/index.html


effectivement il y a quantité ...

--
yt

1 2