18. september 2003 - 17:49Der er
1 kommentar og 1 løsning
sed - regular ekspressions
Jeg har nogle filer som jeg godt vil have lavet søg og erstat i med et bash shell script: cd WORK for fl in *.vhd; do cp $fl ../WORK2/$fl.old sed 's/x/y/g' ../WORK2/$fl.old > ../WORK2/$fl rm -f ../WORK2/$fl.old done
...så langt så godt, men hvad nu hvis jeg vil erstatte funktionskald af en bestemt slags til funktionskald af en anden slags:
f.eks. erstattes x(ukendt_navn_på_variabel) med y(konverter(ukendt_navn_på_variabel))
I det nye udtryk skal der være en ekstra parentes til sidst efter variablen. Kan regExp/sed overhoved klare dette?
Det var sgu sejt nok, virker perfekt. Jeg har i øvrigt udvidet den lidt da jeg i nogle tilfælde har en talparameter ekstra som ikke er nødvendig mere: sed 's/x(\([^)]*\), [0-9]*)/y(konverter(\1))/g'
Synes godt om
Ny brugerNybegynder
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.