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 :

Insertion dans un fichier text


Sujet :

Shell et commandes GNU

  1. #1
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Avril 2009
    Messages : 24
    Par défaut Insertion dans un fichier text
    Un cas d'ecole
    J'aimerais avoir un script qui prends quatre parametres
    1. un fichier txt de longeur X
    2. le titre a introduire dans le fichier text a la premiere ligne
    3. un text qui affiche le milieu du text
    4. le nom de l'auteur en fin de text

    astuce: sans utiliser AWK ou SED, sinon c'est pas marrant
    des idees, c'est surtout pour le milieu que je cale

    merci a vous tous

  2. #2
    Membre éclairé Avatar de Vespasien
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    383
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 383
    Par défaut
    $cat foo.sh << EOF

    Et après, tu scriptes et tu scriptes et tu scriptes...

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 660
    Par défaut
    pas testé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    fichier=/chemin/longueurX
    fichier_du_milieu=/chemin/fichier_du_milieu
    titre="bla blabla"
    auteur="C. Zigue"
    tampon=/tmp/file-$$
    nbLigne=$(wc -l $fichier)
    milieu=$((nbLigne / 2)) # par défaut, parce que Mykhell ne précise pas comment l'identifier
     
    cp $fichier ${fichier}.bak
    echo "$titre" > $tampon
    head -n $milieu $fichier >> $tampon
    cat $fichier_du_milieu >> $tampon
    tail -n $milieu $fichier >> $tampon
    echo "$auteur" >> $tampon
     
    cp $tampon $fichier
    rm $tampon
     
    exit 0
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  4. #4
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Avril 2009
    Messages : 24
    Par défaut Resolu-merci
    Merci pour vos reponses

    N bah c'est plus ou moins la solution que j'ai trouve hier, avec une etape supplementaire.

    un petit truc pour ceux qui pqssent derriere moi
    dans le code de N Bah
    nbLigne=$(wc -l $fichier)
    il faut redirige le contenu du fichier vers le wc sinon, le nom du fichier est enregistre dans la variable egalement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nbLigne=$(wc -l  < $fichier)
    Merci d'avoir pris le temps
    Bien a vous

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

Discussions similaires

  1. Création requete insert dans un fichier texte
    Par harry le ravi dans le forum Débuter
    Réponses: 4
    Dernier message: 03/07/2009, 12h08
  2. insert un caractère dans un fichier text.
    Par toctoc dans le forum Delphi
    Réponses: 5
    Dernier message: 06/07/2006, 08h36
  3. Insertion d'un fichier texte dans une moulinette PL/SQL
    Par Douanier007 dans le forum PL/SQL
    Réponses: 3
    Dernier message: 24/01/2005, 16h08
  4. Comment faire une insertion dans un fichier texte ?
    Par Isa31 dans le forum Langage
    Réponses: 10
    Dernier message: 28/12/2004, 09h06

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