Stel ik wil op heel de hdd , alle bestanden die cronos heten verwijderen, in 1 commando, met welke commando's achter RM moet ik dit dan doen?? ps. heb de search al bekeken..
Verwijderd
Met find, zie "man find".remsie: Stel ik wil op heel de hdd , alle bestanden die cronos heten verwijderen, in 1 commando, met welke commando's achter RM moet ik dit dan doen??
code:
1
| find / -name cronos -type f -exec rm {} \; |
find / -name 'cronos' -type f | xargs rm is sneller want efficienter
Verwijderd
Dat hangt er nog maar van af.jeroen: find / -name 'cronos' -type f | xargs rm is sneller want efficienter
Nou volgens mij niet. -exec rm {} removet per keer maar 1 file namelijk. xargs rm spaart de argumenten die hij uit de pipe van find krijgt op tot ie er een zooitje heeft en removet ze dan allemaal in 1 keer. Dat scheelt dus een behoorlijk aantal keer fork en exec.
Verwijderd
Waar.jeroen: -exec rm {} removet per keer maar 1 file namelijk. xargs rm spaart de argumenten die hij uit de pipe van find krijgt op tot ie er een zooitje heeft en removet ze dan allemaal in 1 keer.
Het hangt dus van eht aantal gevonden bestanden af welke efficienter is. Als er geen of maar een bestand gevonden wordt zal -exec nul of een keer forken, xargs heeft sowieso zijn pipe.Dat scheelt dus een behoorlijk aantal keer fork en exec.
hehehe
okeeokee. daar moet ik je gelijk geven. laten we het er dan op houden dat de methode xargs efficienter wordt naarmate het aantal gevonden files toeneemt, beginnend bij twee of meer argumenten
of je doet het zo 
find /tmp/blah/ -name 'filenaam' -type f -delete
find /tmp/blah/ -name 'filenaam' -type f -delete
pas wel op met zulk soort commando's en zeker als je als root bent ingelogd. Een typefout kan dan zeer funest zijn
Pagina: 1