Encore et Encore un retour de chariot en sed

Résolu
DidierZ -  
zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

j'ai beau chercher dans les forums et bien que cela est déjà été traité, je n'arrive a rajouter un retour chariot ou une fin de ligne dans mon script (les \n ou \r ne marche pas. J'utilise MacOS 10.6 et le terminal shell)
merci d'avance
Didier

2 réponses

  1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    Salut,

    Montres-nous ce que tu veux faire exactemet et comment tu t'y prends.
    0
    1. DidierZ
       
      je rajoute un ligne a mon fichier
      voici mon script:
      for fich in *.gb; do sed -e '1 s/^/<a href="'${fich%.gb}.fas'">FASTA<\/a>\r/' "$fich" > "DZ$fich"; rm "$fich"; mv "DZ$fich" "$fich"; done
      Didier
      0
    2. DidierZ
       
      petite précision: peu importe le fichier texte qui est contenu avant mais pour info voici comment se présente un des fichiers (je veux tous les modifier ... il y a a plus de 100000)

      LOCUS Locus_1000_Trans 292 bp DNA linear UNA 21-JUL-2011
      DEFINITION transcripts_v2_6389.
      ACCESSION
      VERSION
      KEYWORDS .
      SOURCE .
      ORGANISM
      .
      FEATURES Location/Qualifiers
      ORIGIN
      1 aggcaagttc tgggtctggt attccacatg ttgcttttag aatatcattg aaaacatctg
      61 gctccatttg tttaggcatt ctatgcttca gttggactcc cttacaaaac tcccttgcag
      121 catcaacaat gtctcccttt ccatcctgct cagacagcaa gctgatacac acttgtgttg
      181 gtgcaaggat ctcacaatcg aatttaacgt cttttgttct cagaacaaat gtgtatttgc
      241 tggattcatc tgtaaaaact tctttttgct tccgaataat ttcacttgag aa
      //

      et voici ce qui j'obtiens avec le script :
      <a href="Locus_1000.fas">FASTA</a>rLOCUS Locus_1000_Trans 292 bp DNA linear UNA 21-JUL-2011
      DEFINITION transcripts_v2_6389.
      ACCESSION
      VERSION
      KEYWORDS .
      SOURCE .
      ORGANISM
      .
      FEATURES Location/Qualifiers
      ORIGIN
      1 aggcaagttc tgggtctggt attccacatg ttgcttttag aatatcattg aaaacatctg
      61 gctccatttg tttaggcatt ctatgcttca gttggactcc cttacaaaac tcccttgcag
      121 catcaacaat gtctcccttt ccatcctgct cagacagcaa gctgatacac acttgtgttg
      181 gtgcaaggat ctcacaatcg aatttaacgt cttttgttct cagaacaaat gtgtatttgc
      241 tggattcatc tgtaaaaact tctttttgct tccgaataat ttcacttgag aa
      //

      merci d'avance
      Didier
      0
    3. DidierZ
       
      Je te remercie beaucoup Zipe31 : problème résolu!
      0
  2. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    Essaye plutôt avec l'option "i" (insertion) de sed :

    $ fich=toto.gb
    
    $ cat plop 
    LOCUS Locus_1000_Trans 292 bp DNA linear UNA 21-JUL-2011
    DEFINITION transcripts_v2_6389.
    ACCESSION
    VERSION
    KEYWORDS .
    SOURCE .
    ORGANISM
    
    $ sed -e '1 i\
    <a href="'${fich%.gb}.fas'">FASTA</a>' plop
    <a href="toto.fas">FASTA</a>
    LOCUS Locus_1000_Trans 292 bp DNA linear UNA 21-JUL-2011
    DEFINITION transcripts_v2_6389.
    ACCESSION
    VERSION
    KEYWORDS .
    SOURCE .
    ORGANISM
    
    $

    J'ai raccourci ton fichier pour l'exemple.
    0
    1. DidierZ
       
      Merci beaucoup!
      0
    2. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      De rien ;-))
      0