Salve a tutti,
Ho necessità di controllare se in un determinato file è presente del
testo.
Premessa: Sto lavorando con Linux
Il file in questione è /etc/apt/sources.list e non è modificabile se non
con i permessi di Amministrazione!
Devo verificare se sono presenti nel file il seguente testo:
##Siderusrepository ##Must have Ubuntu
s repository
deb http://ppa.launchpad.net/siderus/ubuntu gutsy main
deb-src http://ppa.launchpad.net/siderus/ubuntu gutsy main
##end
Grazie e scusate per il disturbo
Ciao,
in ruby puoi provare:
File.open( “/etc/apt/sources.list” ) do |f|
f.grep( /search_string/ ) do |line|
puts path, ‘:’, line
end
end
oppure in Bash
grep “stringa” /etc/apt/sources.list
On Sun, Mar 9, 2008 at 3:24 PM, koala lorenzo [email protected]
wrote:
emh… nulla? :’(
E` domenica 
–
FEj
“Go and spread the free software. Happy hacking!” - RMS
Ecco:
@repostiory = “deb http://ppa.launchpad.net/siderus/ubuntu gutsy main”
File.open( “/etc/apt/sources.list”, “a+” ) do |f|
f.grep( @repository ) do |line|
puts path, ‘:’, line
@repot = “y”
end
if @repot == “y” then
puts “Repository presenti nella lista”
else
f.write “deb http://ppa.launchpad.net/siderus/ubuntu gutsy main”
end
end
secondo voi va bene?
koala lorenzo wrote:
Salve a tutti,
Ho necessità di controllare se in un determinato file è presente del
testo.
Premessa: Sto lavorando con Linux
Il file in questione è /etc/apt/sources.list e non è modificabile se non
con i permessi di Amministrazione!
Devo verificare se sono presenti nel file il seguente testo:
##Siderusrepository ##Must have Ubuntu
s repository
deb http://ppa.launchpad.net/siderus/ubuntu gutsy main
deb-src http://ppa.launchpad.net/siderus/ubuntu gutsy main
##end
Grazie e scusate per il disturbo
“cat /etc/apt/sources.list”
Alessandro S. wrote:
Se l’utente con cui lanci ruby non ha permessi di scrittura sul quel
file non può aggiungere la riga.
Si ha i permessi: all’inizio viene dato un bel gksu prima di eseguire il
file rb!
Per verificare la presenza fai mooooolto prima a scrivere :
line = cat /etc/apt/sources.list | grep #{@repository}
if line.nil?
system(sed ‘$a/#{@repository}’ > /etc/apt/sources.list)
else
puts “Repository presenti nella lista”
end
ok, quidni prima devo scrivere questo?
@repostiory = “deb http://ppa.launchpad.net/siderus/ubuntu gutsy main”
grazie 
koala lorenzo wrote:
Ecco:
@repostiory = “deb http://ppa.launchpad.net/siderus/ubuntu gutsy main”
File.open( “/etc/apt/sources.list”, “a+” ) do |f|
f.grep( @repository ) do |line|
puts path, ‘:’, line
@repot = “y”
end
if @repot == “y” then
puts “Repository presenti nella lista”
else
f.write “deb http://ppa.launchpad.net/siderus/ubuntu gutsy main”
end
end
secondo voi va bene?
Se l’utente con cui lanci ruby non ha permessi di scrittura sul quel
file non può aggiungere la riga.
Per verificare la presenza fai mooooolto prima a scrivere :
line = cat /etc/apt/sources.list | grep #{@repository}
if line.nil?
system(sed ‘$a/#{@repository}’ > /etc/apt/sources.list)
else
puts “Repository presenti nella lista”
end
koala lorenzo wrote:
Alessandro S. wrote:
Se l’utente con cui lanci ruby non ha permessi di scrittura sul quel
file non può aggiungere la riga.
Si ha i permessi: all’inizio viene dato un bel gksu prima di eseguire il
file rb!
Per verificare la presenza fai mooooolto prima a scrivere :
line = cat /etc/apt/sources.list | grep #{@repository}
if line.nil?
system(sed ‘$a/#{@repository}’ > /etc/apt/sources.list)
else
puts “Repository presenti nella lista”
end
ok, quidni prima devo scrivere questo?
@repostiory = “deb http://ppa.launchpad.net/siderus/ubuntu gutsy main”
grazie 
fai dei test ovviamente, non sono certo che line diventi nil o “”
la chiamata dentro system va tra virgolette 