Rechercher : dans
Par :

[bash linux] remplacer une ligne

Dernière réponse le 29 mai 2008 à 20:14:37 santiago69, le 27 mai 2008 à 18:14:21 
 Signaler ce message aux modérateurs

Salut a tous,
je voudrais ecrire une ligne de commande qui remplace une ligne par une autre dans un fichier.
Il s'agit du fichier /etc/proftpd/proftpd.conf
Et je voudrais remplacer la ligne

UseIPv6                         on

par la ligne
UseIPv6                         off

Comme on est pas sur du nombre d'espace, je voudrais que la commande trouve toute ligne du style
UseIPv6*

Je voudrais que le test se fasse seulement sur le debut de la ligne mais le remplacement sur la ligne entiere. C'est possible ?
Santiago

Il y a 10 types de personnes dans le monde
Ceux qui comprennent le binaire et les autres.

Meilleures réponses pour « [bash linux] remplacer une ligne » dans :
Comment lire un fichier ligne par ligne VoirComment lire un fichier ligne par ligne Préambule Boucle while Syntaxe Exemple Astuces Bonus Boucle for Syntaxe Préambule Une des erreurs les plus communes dans l'apprentissage des scripts "bash" sous GNU/LInux pour lire un fichier...
Sed - Supprimer une ou plusieurs lignes d'un fichier VoirSupprimer une (ou plusieurs) ligne(s) d'un fichier Syntaxe sed '{[/]||[/]}d' sed '{[/][,][/]d' /.../ = délimiteurs n = le numéro de ligne chaîne = la chaîne contenue dans la...
[Linux] Débuter sous Linux VoirDÉBUTER SOUS LINUX Qu'est-ce que Linux ? Si vous venez de Windows I - LES LIVE-CDS I-1 Quelles distributions choisir ? I-2 Utilisation II - INSTALLER LINUX II-1 Partitionner son disque dur II-2 Multiboot Windows/Linux II-3 Quelles...
Linux - Le shell VoirIntroduction au shell L'interpréteur de commandes est l'interface entre l'utilisateur et le système d'exploitation, d'où son nom anglais «shell», qui signifie «coquille». Le shell est ainsi chargé de faire l'intermédiaire le système...
Linux - L'éditeur Vi VoirIntroduction à Vi Vi est un des éditeurs de texte les plus populaires sous Linux (avec Emacs et pico) malgré son ergonomie très limitée. En effet, Vi (prononcez Vihaille) est un éditeur entièrement en mode texte, ce qui signifie que chacune des...
Utilisation de la commande ftp VoirLe protocole FTP FTP (File Transfer Protocol) est un protocole, c'est-à-dire un langage standard de communication entre deux machines, permettant à des machines de types différents (ou dont le système d'exploitation est différent) de transférer des...

1

jipicy, le 27 mai 2008 à 18:20:55
  • +2

Salut,

Avec "sed" c'est faisable. Dans un 1er temps essaie comme ça :

sed '/^UseIPv6/ s/on/off/' /etc/proftpd/proftpd.conf 
puis si le résultat escompté est satisfaisant, rajoute le switch "-i" de cette manière :
sed -i.BAK '/^UseIPv6/ s/on/off/' /etc/proftpd/proftpd.conf 
;-))
JP - Éleveur de pingouins -
Faites un geste pour l'environnement, fermez vos fenêtres et adoptez un manchot.

Répondre à jipicy

2

santiago69, le 29 mai 2008 à 19:50:20
  • +1

Salut jipicy,
Merci beaucoup pour ta reponse, ca marche.
Est il possible de rendre le test insensible a la casse ?
je voudrais qu'il trouve
UseIPv6 mais aussi useipv6 ou UseipV6
Je voudrais aussi qu'il remplace On ou on par Off
Merci de ton aide
Santiago

Il y a 10 types de personnes dans le monde
Ceux qui comprennent le binaire et les autres.

Répondre à santiago69

3

 jipicy, le 29 mai 2008 à 20:14:37
  • +2

sed '/^[uU][sS][eE][iI][pP][vV]6/ s/on/Off/I'
;-))
JP - Éleveur de pingouins -
Faites un geste pour l'environnement, fermez vos fenêtres et adoptez un manchot.

Répondre à jipicy