Sortir un document en UNIX

Résolu
Poireau007 Messages postés 85 Statut Membre -  
zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour à tous,

Je cherche à :
- ouvrir des pages html (environ 5 000),
- les modifier
- sauver sur le même fichier

C'est sur la dernière étape que je bloque...

je fais un boucle :

for i in $(ls),do sed 's+aaa+bbb+g' $i>>$i

Mais ca me mets mes modifs à la suite du document , sans doute a cause de ">>"
Comment faire pour enregistrer mes modifs sur le même document sans avoir les anciennes données ?

D'avance merci !

4 réponses

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

    Sur quel système es-tu ?
    Quelle version de "sed" ?
    0
  2. Poireau007 Messages postés 85 Statut Membre 15
     
    Je suis sur le terminal de Mac Os 10.6
    comment connaitre la version de sed ? sed -v ne marche pas...
    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Regarde sur la sortie de "sed -v" si l'option "-i" existe ou dans le man.
      0
  3. Poireau007 Messages postés 85 Statut Membre 15
     
    en fait je n'ai pas de pb avec sed, c'est juste que je n'arrive pas à faire une sortie :(
    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      D'où ma demande et savoir si ta version de 'sed' comprend l'option "-i" qui permet de modifier les fichiers "en place" :

      sed -i.bak 's/aaa/bbb/' fichier

      Modifie directement le fichier "fichier" et crée en prime une sauvegarde nommée "fichier.bak".

      Sans cette option il te faudra obligatoirement passer par un fichier temporaire :

      sed 's/aaa/bbb/' fichier > fichier.tmp && mv fichier.tmp fichier
      0
    2. Poireau007 Messages postés 85 Statut Membre 15
       
      Ah oui c'est enorme merci ça marche !
      et si je ne vaux pas creer les .bak ? c'est possible ?
      0
    3. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Oui, c'est juste une sécurité au cas ou...
      0
  4. Poireau007 Messages postés 85 Statut Membre 15
     
    Ah ok,

    oui j'ai l'option -i !

    man sed :

    The following options are available:
    
         -E      Interpret regular expressions as extended (modern) regular
                 expressions rather than basic regular expressions (BRE's).  The
                 re_format(7) manual page fully describes both formats.
    
         -a      The files listed as parameters for the ''w'' functions are cre-
                 ated (or truncated) before any processing begins, by default.
                 The -a option causes sed to delay opening each file until a com-
                 mand containing the related ''w'' function is applied to a line
                 of input.
    
         -e command
                 Append the editing commands specified by the command argument to
                 the list of commands.
    
         -f command_file
                 Append the editing commands found in the file command_file to the
                 list of commands.  The editing commands should each be listed on
                 a separate line.
    
         -i extension
                 Edit files in-place, saving backups with the specified extension.
                 If a zero-length extension is given, no backup will be saved.  It
                 is not recommended to give a zero-length extension when in-place
                 editing files, as you risk corruption or partial content in situ-
                 ations where disk space is exhausted, etc.
    
         -l      Make output line buffered.
    
         -n      By default, each line of input is echoed to the standard output
                 after all of the commands have been applied to it.  The -n option
                 suppresses this behavior.
    
    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Alors y'a plus qu'à...
      0