Avatar billede flemseras Nybegynder
24. august 2004 - 16:24 Der er 11 kommentarer og
1 løsning

sed script

Hejsa!!

Nogen der kan hjælpe med et eksempel på et script der via "sed" søger og erstatter 2 forskellige ord i 3 forskellige filer aka:

sed 's/xxxxxxxx/yyyyyyyy/g;s/aaaaaaaa/bbbbbbbb/g'

Det jeg går i stå på er hvordan jeg peger på de filer der skal ændres. Målet er ikke at der kommer nye filer med ændringerne i, men at selve filerne bliver ændret.
Avatar billede simonvalter Praktikant
24. august 2004 - 16:43 #1
hvilet script sprog .. bash?
Avatar billede flemseras Nybegynder
24. august 2004 - 16:44 #2
Ja :-) det skulle jeg nok have informeret om...
Avatar billede simonvalter Praktikant
24. august 2004 - 17:15 #3
skal det være med sed..?
jeg har ikke rigtigt styr i mulighederne så det kan sikkert laves smartere men det virker .. kan uden tvivl laves med ren perl men jeg kender ikke sproget.


#!/bin/bash

filer=(bla.txt lala.txt)

for i in ${filer[@]}; do
perl -i -pe 's/hey/bla/' ${i}
perl -i -pe 's/ord2/lala/' ${i}
done
exit 0
Avatar billede simonvalter Praktikant
24. august 2004 - 17:20 #4
så det var ikke meget anderledes
filer=(bla.txt lala.txt)

for i in ${filer[@]}; do
sed -ie 's/bla/haha/g' ${i}
sed -ie 's/bla/haha/g' ${i}
done
exit 0
Avatar billede simonvalter Praktikant
24. august 2004 - 17:24 #5
den vil smide en backup .. så hvis du vil af med den så lav det om til
sed -i.bak -e 's/bla/haha/g' ${i}
og så rm -f ${i}.bak
Avatar billede flemseras Nybegynder
24. august 2004 - 17:37 #6
ja, desværre, det SKAL være i sed :-( Jeg sidder med en minidistribution som der ikke er perl på, ejheller mulighed for at kompilere det på..
Avatar billede simonvalter Praktikant
24. august 2004 - 17:44 #7
nå men så burde den sidste virke?
Avatar billede flemseras Nybegynder
24. august 2004 - 17:47 #8
hmmm..Jeg har åbentbart stadig problemer med at angive stien til filerne :-(

filer=(/Home/bla.txt /Home/test/lala.txt)

Skulle det kunne virke ?
Avatar billede simonvalter Praktikant
24. august 2004 - 17:56 #9
det virker fint her..
linux/unix er case sensetive så jeg vil tro at Home skal være home
Avatar billede simonvalter Praktikant
25. august 2004 - 23:32 #10
kommet videre?
Avatar billede flemseras Nybegynder
26. august 2004 - 07:50 #11
Hov ja, unskyld den manglende tilbagemelding :-) Det kom til at virke fint. Send et svar.. Og tak for hjælpen .
Avatar billede simonvalter Praktikant
26. august 2004 - 13:06 #12
ok det var så lidt.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester