# sed -i 's/testjee/testjaa/g' *
sed: couldn't edit dir1: not a regular file
[root@server]#
Ps. ik heb dus root rechten dus daar kan het niet aan liggen...
# sed -i 's/testjee/testjaa/g' *
sed: couldn't edit dir1: not a regular file
[root@server]#
Ps. ik heb dus root rechten dus daar kan het niet aan liggen...
Beter doe je dit soort dingen NIET als root, maar als normale user! Massaal zooi vervangen in files als root is vragen om problemen...
Probeer eens..
for f in `find . -type f`; do sed -i 's/vervangdit/doordit/g' $f; done
strakker definieren wat je wilt.
updatedb &
locate html |grep somedire |while read file; do cat $file|sed s/STRING/NIEUWSTRING/ > $file.1;done
en anders met find, anyway je kunt dit op vele manieren doen.
Sed is heel simpel als je echt moeilijker wilt doen moet je eens naar awk kijken.
@Jurian:
uiteraard kijk ik wel jij uit voordat ik ga wijzigen en de root test dan ook alleen uitgevoerd op mij test server
iemand trouwens bekend met het RPL tool?
http://www.laffeycomputer.com/rpl.html
dan kan je per file prompten, Simulation mode
toch nog een vraag over SED
nadat ie dus de files heeft aangpast geeft ie nix weer, van bijv. hoeveel files
er nu zijn aangepast en welke files... Dan dit toch worden weergegeven?
of beter per file laten prompten voordat ie wordt gewijzigd?
Ook de datums zijn veranderd van alle files dus nadien kan je
niet zien welke nou wel en niet zijn aangepast...
Laatst gewijzigd door timmy; 09/05/07 om 19:07. Reden: Automerged Dubbelpost
Ik geef je 1 tip tools die niet bij een os zitten, niet gebruiken.
Vroeger (MS-dos tijdperk) had je beheerders die alles deden met pc-tools en norton utilities, alleen wisten ze niet wat ze deden.
Deze beheerders hadden een probleem zodra ze een computer moesten fixen waarop die tools niet stonden, ook wisten deze beheerders niet exact hoe dingen werkten in elkaar steken. Terwijl mensen die debug/fdisk en de andere bij een die OS standaard meegeleverde tools werkten vandaag de dag ook nog een goede boterham verdienen, die andere zijn vaak als MCSE geëindigd.
Die voor een modaal salaris werken. (op een handje vol toppers uitgesloten overigens).
Dus mijn tip aan jou ook al lijkt het moeilijk probeer het te leren, lees eerst over regexp en escapen van characters, als je dat begrijpt dan kun je sed, awk, perl telkens gebruiken om wat dan ook te parsen.
Ook binnen PHP kun je vrijwel volledig de regexp gebruiken, en er zijn zelfs voor C en C++ regexp header files.
Meer info: http://en.wikipedia.org/wiki/Regular_expression
SED is letterlijk een stream editor. SystemV/Berkeley gebaseerde Os'sen zoals Linux die hebben voor vrijwel elk doel een tool/programma, die alleen maar één
functionaliteit heeft, dit heeft als voordeel dat ze compact zijn, en erg SNEL functioneren omdat er geen overhead aan code in zit voor allerlij zaken.
Door meerdere tools vanuit een shellscript aan te roepen, kun je vrijwel alles bewerkstelligen wat je wilt.
Misschien is mijn antwoord oudbollig, maar je zult het straks waarderen indien je met oneliners dingen voor elkaar krijgt die je met wintendo nooit voor elkaar zult krijgen (met wat voor applicatie dan ook).
Probeer maar eens een file met een paar miljoen regels te sorteren en ontdoen van dubbele entries.
Onder linux cat bigfile |uniq (=sort -u) > bigfile binnen een paar minuten zal hij klaar zijn. Onder windows zal je applicatie crashen of je OS geen memory meer hebben en crashen.