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 :

Renommer et concaténation


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 8
    Par défaut Renommer et concaténation
    bonjour,
    je travail actuellement sous bash linux et je suis encore un novice. je galère sur un problème qui peut être trivial pour vous. en fait j'ai 200 fichiers txt renommés de la façon suivante data01_sxsy.txt, data01_sxsy.txt, data02_sxsy.txt, data03_sxsy.txt, ......., data200_sxsy.txt et j'aimerai leur concaténer avec la commande en 4 groupes de 50 fichiers, pour ce j'ai utilisé la commande "cat" mais écrire tous les fichiers est un peu pénible. je cherche a leur regrouper en utilisant des lignes de code mais je galère un peu avec les commandes linux
    Merci

  2. #2
    Expert confirmé Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 041
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 041
    Par défaut
    salut,

    tu peux peut-être tirer parti de l'expansion d'accolades en bash :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    cat "data"{01..50}"_sxsy.txt" > fichier1
    cat "data"{51..100}"_sxsy.txt" > fichier2
    ...
    ça revient à taper 4 lignes, meilleur gain efficacité/flemme garanti ;p

    ps: évite les "help" et autres "urgent" dans les intitulés, ça a tendance à faire fuir à mon avis

  3. #3
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 8
    Par défaut
    merci BufferBob c'est parfait

    une dernière question à ce sujet. et si dans les fichiers de 1 à 50 par exemple il manquais le 17, 18 et 19. y a t'il une syntaxe pour sauter ces trois numéros dans les accolades?

    @BufferBob

  4. #4
    Membre émérite
    Avatar de matrix788
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    740
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 740
    Billets dans le blog
    2
    Par défaut
    ca va juste afficher une erreur sans bloquer l'exécution; si tu veux pas afficher l'erreur, rediriges vers le dev/null:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cat "data"{01..50}"_sxsy.txt" >fichier1 2>/dev/null

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 293
    Par défaut
    Bonjour

    Faire disparaître l'erreur, qui, de toute façon, n'est pas mélangée avec la sortie, ne me semble pas un bon réflexe.

  6. #6
    Expert confirmé Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 041
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 041
    Par défaut
    Citation Envoyé par lefloxy Voir le message
    si dans les fichiers de 1 à 50 par exemple il manquais le 17, 18 et 19. y a t'il une syntaxe pour sauter ces trois numéros dans les accolades?
    tu peux en utilisant une double expansion : {{01..16},{20..50}}

  7. #7
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 349
    Par défaut
    Bonjour,

    Et si tu ne sais pas quels fichiers n'existent pas, tu peux soit checker l'existance du fichier a chaque fois via une boucle:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for i in "data"{01..50}"_sxsy.txt"
    do
     [ -f "$i" ] && cat "$i"
    done >fichier1
    Ou bien via un trick moins académique:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cat $(printf "%s\n" *"data"{01..50}"_sxsy.txt" | grep -v '^*') >fichier1

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

Discussions similaires

  1. [Mac OS X] Commande linux play sur mac
    Par mun_a dans le forum Apple
    Réponses: 5
    Dernier message: 12/12/2008, 03h28
  2. questionnaire sur des commandes linux
    Par mimietoile dans le forum Administration système
    Réponses: 1
    Dernier message: 10/09/2008, 00h33
  3. Exécution d'une commande Linux sur Windows !
    Par ghohm dans le forum Administration système
    Réponses: 2
    Dernier message: 05/03/2008, 23h29
  4. [DEBUTANT]Installer un client ftp sur un linux ligne de commande
    Par tripper.dim dans le forum Applications et environnements graphiques
    Réponses: 0
    Dernier message: 11/06/2007, 17h28
  5. [MySQL] exécuter un script php en commande linux : problème sur les fonctions mysql
    Par dr_octopus74 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 16/03/2007, 16h34

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