anoniem Geplaatst: 25 februari 2003 Delen Geplaatst: 25 februari 2003 Hoe maak ik een bash-shellscript dat er voor kan zorgen dat de inhoud van zo'n 100 bestanden in 1 directory wordt doorzocht en overal waar er 'Hello' voorkomt, moet deze tekst vervangen worden door 'Hoi'. Alvast bedankt voor jullie hulp !! Quote Link naar reactie
anoniem Geplaatst: 25 februari 2003 Auteur Delen Geplaatst: 25 februari 2003 Ik ga het niet helemaal voorkauwen, maar je zou iets kunnen proberen met 'cat' en 'sed', en mbv een regular expressie ("sed s/../..." of zo) moet het wel te doen zijn. Zie de man / docs van sed :) Quote Link naar reactie
anoniem Geplaatst: 25 februari 2003 Auteur Delen Geplaatst: 25 februari 2003 [code:1:ff09ef1c79]for bestand in `grep -l Hello *` do cp $bestand $bestand.bak sed 's/Hello/Hoi/g' $bestand.bak > $bestand done[/code:1:ff09ef1c79]En de bestanden die werden gewijzigd worden netjes bewaard in *.bak. Disclaimer: werkt gegarandeerd maar niet getest :) Als de filenamen mogelijk spaties bevatten is dit slimmer:[code:1:ff09ef1c79]grep -l Hello * | while read bestand do cp $bestand $bestand.bak sed 's/Hello/Hoi/g' $bestand.bak > $bestand done[/code:1:ff09ef1c79] Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen