Krav: Jeg vil slette logfiler i batches under Linux-systemet, fordi der er for mange moduler, der er mange logs, og under forskellige mapper kan vi outputte stien for disse logs via find-kommandoen, hvordan sletter man dem i batches?
Den første måde
For at batch-slette filer af samme format i en multi-level mappe i Linux kan du bruge find + exec-kommandokombinationen:
For eksempel, i den slettede gamle mappe, i alle undermapper, er filmetoden med suffikset .l:
find gammel -type f -navn "*.l" -exec rm -f {} \;
Illustrere:
•old: Startmappen, der findes, søg efter undermappen under den
•-type f : Filtypen er en normal fil Hvis målfilen er en mappe, brug -type d
•-navn "*.l": betyder, at filnavnet matcher "*.l", og der kan ikke mangle to anførselstegn!
•rm -f {} : Når man sletter, angiver {} den fundne fil uden at bede om det
ps : mellem {} og \Der kræves mellemrum
Den anden vej
Brug xargs-parameteren
finde. -navn "._*" | xargs rm -rf
|