Maison  >  Questions et réponses  >  le corps du texte

S'il vous plaît dites-moi comment filtrer par expression régulière à l'aide de la commande find sous Linux ?

Je souhaite trouver des fichiers dans le répertoire courant qui correspondent au format : entier_integer.zip, recherchez-les et supprimez-les.
Par exemple, un nom de fichier comme celui-ci : 234_23444.zip

Comment écrire la commande ? Merci Daniel!

仅有的幸福仅有的幸福2680 Il y a quelques jours843

répondre à tous(1)je répondrai

  • 迷茫

    迷茫2017-06-17 09:18:46

    Vous pouvez utiliser l'option -regex pour utiliser des expressions régulières :

    find . -regex '\./[0-9]+_[0-9]+\.zip'

    Si vous devez supprimer les fichiers trouvés, utilisez xargs(assurez-vous de confirmer avant de supprimer) :

    find . -regex '\./[0-9]+_[0-9]+\.zip'|xargs rm -f

    Si vous souhaitez non seulement supprimer mais également obtenir le nombre de suppressions, vous pouvez faire ceci :

    find . -regex '\./[0-9]+_[0-9]+\.zip'|tee >(wc -l 1>&2)|xargs rm -f

    répondre
    0
  • Annulerrépondre