IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Première ligne d'un résultat ls -l


Sujet :

Shell et commandes GNU

  1. #1
    Membre habitué Avatar de Poisson59
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    213
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 213
    Points : 140
    Points
    140
    Par défaut Première ligne d'un résultat ls -l
    Bonjour,

    je tourne en rond juste pour récupérer le premier fichier et le traiter.

    j'ai 5 Fichiers
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    fichier1.csv
    fichier2.csv
    fichier3.csv
    fichier4.csv
    fichier5.csv
    par unje veux récupérer que le premier par ordre alphabétique.

    Ensuite quand je l'ai je le renommerai en et ensuite fichier2 etc......

    merci pour votre Aide.
    La connaissance n'est rien sans celles des autres !!!

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 552
    Points : 19 392
    Points
    19 392
    Par défaut
    Bonjour,

    avant de nous dire comment tu n'arrives pas à faire ce qu'il ne faut pas faire (parcourir la sortie de ls, et encore plus ls -l)
    explique-nous ton projet global.
    il semblerait que tu veuilles renommer (pourquoi, et pourquoi ne portent-ils pas déjà un nom correct ?) certains fichiers du répertoire courant...
    dis-nous en plus.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    721
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 721
    Points : 1 876
    Points
    1 876
    Par défaut
    Citation Envoyé par Poisson59 Voir le message
    je veux récupérer que le premier par ordre alphabétique.
    Quelque chose comme ça alors ?

    NB; cette commande échouera si aucun fichier n'est trouvé.

    Mais oui, ça mérite d'être un peu développé car je ne vois pas l'intérêt immédiat de juste renommer les fichiers. A la limite j'aurais compris qu'on les déplace vers un autre répertoire.

  4. #4
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 552
    Points : 19 392
    Points
    19 392
    Par défaut
    Citation Envoyé par binarygirl Voir le message
    Quelque chose comme ça alors ?


    non.

    ON N'UTILISE PAS ls DANS UN SCRIPT !!!
    et, d'une manière générale, on n'essaie pas d'utiliser sa sortie.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 563
    Points : 460
    Points
    460
    Par défaut
    Salut,

    et tout simplement avec une boucle for ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for Fichier in *.csv # voire fichier*.csv
    do
      # traitement des fichiers un à un
    done
    Si je dis pas de bêtise, la boucle for respecte l'ordre alphabétique.

    Si ce n'est pas le cas, on peut partir sur un find couplé à un sort.

    Mais si tu étais précis, on pourrait sûrement bien mieux t'aider...
    Sous Kubuntu 20.04

  6. #6
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 552
    Points : 19 392
    Points
    19 392
    Par défaut
    tu ne dis pas de bêtise.
    il y a un problème potentiel avec les fichiers numérotés :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $ printf '%s\n' fic*
    fic1
    fic10
    fic2
    $
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  7. #7
    Membre habitué Avatar de Poisson59
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    213
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 213
    Points : 140
    Points
    140
    Par défaut
    Merci ca devrais marcher avec ls -lhs | head -n 1.

    c'était un exemple les fichier1, fichier2 etc....

    mes fichiers seront du styles fichier_20230101125356.csv....
    La connaissance n'est rien sans celles des autres !!!

  8. #8
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 552
    Points : 19 392
    Points
    19 392
    Par défaut
    ma bonne résolution pour la nouvelle année, c'est d'essaimer des fichiers avec des noms sur plusieurs lignes.
    vous finirez tous par comprendre pourquoi
    ON N'UTILISE PAS ls DANS UN SCRIPT !!!
    et, d'une manière générale, on n'essaie pas d'utiliser sa sortie.


    mais, pourquoi -lhs ?
    tu veux récupérer des données dans cette sortie particulière ?
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  9. #9
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 459
    Points
    13 459
    Par défaut
    Bonjour

    ls -l ne donne pas une liste de fichiers mais un compte rendu de liste de fichiers. Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $ ls -l
    total 0
    -rw-r--r-- 1 flo flo 0  2 janv. 12:18 fichier.txt
    Nombre de lignes : 2. Alors qu'il n'y a qu'un fichier.
    Et la première ligne, celle que tu gardes, est "total 0" qui n'est en rien un fichier.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  10. #10
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 101
    Points : 5 849
    Points
    5 849
    Par défaut
    Citation Envoyé par N_BaH Voir le message

    non.

    ON N'UTILISE PAS ls DANS UN SCRIPT !!!
    et, d'une manière générale, on n'essaie pas d'utiliser sa sortie.
    Pauvre N_BaH !

    La ligue des utilisateurs de "ls" dans un script a encore frappé...

    Je sais pas si on peut te souhaiter une bonne année... vu comment elle commence !!!

    J'espère quand même que ça va s'améliorer un peu, on a encore besoin de toi !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 21
    Dernier message: 05/02/2018, 01h09
  2. Réponses: 5
    Dernier message: 07/08/2008, 13h01
  3. Réponses: 34
    Dernier message: 18/08/2006, 14h48
  4. Seulement la première ligne du JTable s'affiche
    Par szdavid dans le forum Composants
    Réponses: 4
    Dernier message: 10/05/2004, 10h37
  5. Comment sélectionner la première ligne ?
    Par MartinH dans le forum Langage SQL
    Réponses: 5
    Dernier message: 06/04/2004, 11h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo