Forum Programmation.shell Help script delection fichiers

Posté par  .
Étiquettes : aucune
1
11
juin
2012

Bonjour,
je débute, et j'ai besoin d'aide pour un script de selection de fichiers:
je m'explique:
j'ai 3815 fichiers dans un dossier
j'ai besoin de passer une commande speciale par groupes de 109 fichiers.
MACOMMANDE -liste fichiers 1 à 109-
MACOMMANDE -liste fichiers 110 à 218-
etc…

savez vous comment je pourrais procéder?

Merci de votre aide
J

  • # head

    Posté par  (site web personnel) . Évalué à 3. Dernière modification le 11 juin 2012 à 11:33.

    man head

    -n, --lines=[-]K
    afficher les K premières lignes au lieu des 10 premières ; avec le prefixe « - », afficher toutes les lignes sauf les K dernières lignes de chaque fichier

    man tail

    -n, --lines=K
    afficher les K dernières lignes, au lieu des 10 dernières ; ou utilisez -n +K pour afficher toutes les lignes à partir de la Kième.

    Ce qui donne :

    ls | tail -n +$((109*${compteur})) | head -n 109
    
    

    $compteur correspond à ton lot (0 pour de 1 à 109, 1 pour 110 à …)

    • [^] # Re: head

      Posté par  . Évalué à -1.

      Super! merci :)

      juste une petite correction sur:

      109*${compteur}+1  sinon, il repartait à 109 pour le 2nd lot
      
      
  • # xargs

    Posté par  . Évalué à 7.

    Salut,

    Il existe une autre solution avec xargs :

    ls | xargs -n 109 MACOMMANDE
    
    

    Évidemment, on peut affiner un peu dans la façon de fournir la liste de fichiers à xargs. En particulier, si des noms de fichiers peuvent contenir des espaces, on peut piper la sortie d'un find comme cela :

    find . -type f -print0 | xargs -0 -n 109 MACOMMANDE
    
    

    A+
    JJD

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.