Fichiers de configuration et repertoires de configurations

bahbousra -  
Exileur Messages postés 1621 Date d'inscription   Statut Membre Dernière intervention   -
Bonsoir,
j'ai un problème sur un exercice on me demande
1) le nombre de fichiers de fichiers de configurations l'indication est de compter le nombre de fichiers commençant par un point situés dans répertoire principal en éliminant les copies de sauvegardes <<qui finissent par tilde >>
2) le nombre de répertoires de configuration

3 réponses

  1. lEprofSonDkon Messages postés 227 Statut Membre 13
     
    salut,

    tu sais faire une boucle
    for
    pour itérer sur les fichiers du répertoire courant ?
    tu as lu dans le
    man bash
    le paragraphe sur la correspondance de motifs ?
    tu as lu
    help test
    ?
    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Salut,

      Sans oublier ça aussi ;-)
      0
      1. bahbousra > zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention  
         
        salut j'ai lu ça les conditions mais j'ai beau essayé l'exercice
        cordialement
        0
      2. lEprofSonDkon Messages postés 227 Statut Membre 13 > bahbousra
         
        montre-nous ce que tu as fait.
        0
  2. bahbaousra
     
    ls -a | grep "^\." | grep "[^~]$" | wc -l

    Voilà ce que j'ai pour les fichiers de configuration
    0
    1. lEprofSonDkon Messages postés 227 Statut Membre 13
       
      eh, ben, c'est pas mal.
      mais ça ne va pas :
      -a
      va aussi afficher le répertoire courant, et le répertoire parent (cf.
      man ls
      )
      wc -l
      compte les retours à la ligne : si un fichier en contient, le résultat sera faux.

      et ça va à l'encontre de ce que j'ai préconisé dans mon message au #1
      0
  3. Exileur Messages postés 1621 Date d'inscription   Statut Membre Dernière intervention   150
     
    Hello,

    Utilise find exec :)

    Tu peux tester avant en faisant un ls
    find /path/to/dir \
    -type f \
    -name "*~" \
    -exec ls -lah --full-time {} \;


    find : la commande
    -type : f ou d, correspond a fichier ou dossier ( file, dir )
    -name : le nom, wildcard valide. On peut utiliser -iname pour etre insenssible à la casse
    -exec : execute le code suivant sur {} \ qui correspond au fichier trouvé.

    Puis supprimer :

    find /path/to/dir \
    -type f \
    -name "*~" \
    -exec rm {} \;


    Ou appeler des scripts :

    find /path/to/dir \
    -type f \
    -name "*~" \
    -exec /home/script.sh {} \;


    Executer du code sh -c etc etc

    A plus

    0