33 lines
693 B
Ruby
33 lines
693 B
Ruby
|
#!/usr/bin/ruby -w
|
||
|
|
||
|
# recherche d'une chaine dans un fichier donne
|
||
|
# nom et chaine sont passes en argument
|
||
|
|
||
|
if ARGV.length < 2
|
||
|
puts "usage : ./testFile_3 nom_fich motif"
|
||
|
exit
|
||
|
end
|
||
|
|
||
|
nomFich = ARGV[0]
|
||
|
motif = ARGV[1]
|
||
|
|
||
|
# test si fichier existe et fichier regulier
|
||
|
|
||
|
if not File.file?(nomFich)
|
||
|
puts "erreur fichier"
|
||
|
exit
|
||
|
end
|
||
|
|
||
|
f = File.open(nomFich,"r") # ouverture du fichier
|
||
|
|
||
|
|
||
|
puts "\n_______________________________________________\n"
|
||
|
puts "\n\naffichage des lignes du fichier contenant " + motif
|
||
|
puts "\n_______________________________________________\n"
|
||
|
|
||
|
f.grep(/#{motif}/) do |line|
|
||
|
puts line.chomp + " (" + f.lineno.to_s + " )" # On affiche la ligne et le motif
|
||
|
end
|
||
|
|
||
|
puts "fin"
|