Krav: Jeg ønsker å slette loggfiler i batcher under Linux-systemet, fordi det er for mange moduler, det er mange logger, og under forskjellige mapper kan vi sende ut stien til disse loggene via find-kommandoen, hvordan sletter man dem i batcher?
Den første måten
For å batchslette filer av samme format i en flernivåkatalog i Linux, kan du bruke find + exec-kommandokombinasjonen:
For eksempel, i den slettede gamle mappen, i alle undermapper, er filmetoden med suffikset .l:
Finn gammel -type f -navn "*.l" -exec rm -f {} \;
Illustrere:
•old: Startmappen som skal finnes, søk etter undermappen under den
•-type f : Filtypen er en normal fil Hvis målfilen er en katalog, bruk -type d
•-navn "*.l": betyr at filnavnet samsvarer med "*.l", og doble anførselstegn kan ikke mangle!
•rm -f {} : Når man sletter, indikerer {} den funnede filen uten å be om det
ps : mellom {} og \Det kreves mellomrom
Den andre måten
Bruk xargs-parameteren
finne. -navn "._*" | xargs rm -rf
|