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 :

Script Shell sur des fichiers et chaînes


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Inscrit en
    Août 2007
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 94
    Par défaut Script Shell sur des fichiers et chaînes
    Bonjour,

    Je suis entrain de faire un scrit shell et j'aurais deux questions :

    1) J'ai un fichier qui est de la forme suivante :
    ...
    BALISE_DEBUT 1
    ...
    BALISE_FIN 1
    ...
    BALISE_DEBUT 2
    ...
    BALISE_FIN 2
    ...

    Et j'aimerais avoir un autre fichier qui contient uniquement :
    BALISE_DEBUT 1
    ...
    BALISE_FIN 1
    BALISE_DEBUT 2
    ...
    BALISE_FIN 2

    Comment faire en shell?

    2) J'ai un texte de la forme :
    REQ_<NUMBER_1>_<NUMBER_2>_<NUMBER_3>_<NEW>
    et j'aimerais avoir :
    REQ_<NUMBER_1>_<NUMBER_2+1>_<NUMBER_3>_<NEW>

    Par exemple:
    $>echo "REQ_26_20_10_NEW" | mon_script.sh
    REQ_26_21_10_NEW

    Je veux répondre aux questions 1) et 2) en faisant un script shell.

  2. #2
    Membre émérite Avatar de BlaireauOne
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    492
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2007
    Messages : 492
    Par défaut
    Dans la formulation de tes phrases, évite les « je veux ... », si possible

    Réponse 1 :
    http://www.shellunix.com/sed.html

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    sed -n -e '/^BALISE_DEBUT 1/,/^BALISE_FIN 1/p' \
           -e '/^BALISE_DEBUT 2/,/^BALISE_FIN 2/p' \
        LISTE.lst
    Réponse 2 :
    http://www.shellunix.com/awk.html

    Version compacte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk -F"_" 'BEGIN { FS="_"; OFS="_" } { $3++ ; print $0 }' -

    Version + lisible :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    awk -F"_" '
    BEGIN {
    	FS="_"
    	OFS="_"
    }
    {
    	$3++
    	print $0
    }' -

Discussions similaires

  1. Automatiser des scripts shell sur un serveur par une appli en JAVA
    Par selkhouaja dans le forum API standards et tierces
    Réponses: 0
    Dernier message: 26/05/2009, 23h57
  2. Requete sur des fichiers XML
    Par buildit dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 10/05/2005, 10h57
  3. Réponses: 5
    Dernier message: 05/06/2004, 13h12
  4. Commande en shell -- Sur les fichiers
    Par OrangeBud dans le forum Linux
    Réponses: 8
    Dernier message: 18/05/2004, 13h13
  5. Extraction de données sur des fichiers excel
    Par iupgeii dans le forum MFC
    Réponses: 3
    Dernier message: 23/01/2004, 13h53

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