Controllare se è presente del codice in un File

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 Ubuntus 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

emh…
senza i “>”

emh… nulla? :’(

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 :smiley:


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 Ubuntus 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 :smiley:

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 :smiley:

fai dei test ovviamente, non sono certo che line diventi nil o “”
la chiamata dentro system va tra virgolette :slight_smile: