Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
392 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  scrip shell - remplacer une ligne dans un fichier

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

scrip shell - remplacer une ligne dans un fichier

n°932053
ironhead36​t
Posté le 09-07-2007 à 14:12:30  profilanswer
 

Bonjour,
 
Je souhaiterai insérer dans un script shell une commande me permettant de remplacer une ligne par une autre.
Le problème est que je ne sais pas quelle est la syntaxe exacte de la ligne.
Je sais où elle se trouve (numéro de la ligne) ou par quoi elle commence.
 
Savez-vous comment je peux m'y prendre? (je pense qu'avec awk cela devrait être faisable, mais je ne sais pas m'en servir)
 
Merci d'avance pour votre aide.
Cordialement
Julian

mood
Publicité
Posté le 09-07-2007 à 14:12:30  profilanswer
 

n°932112
cerveau +1
Posté le 09-07-2007 à 14:51:33  profilanswer
 

Si tu ne connais la synthaxe d'une commande, il faut regarder le man. Ca doit devenir un rélfexe.
 
man awk

n°932113
Fork Bomb
Obsédé textuel
Posté le 09-07-2007 à 14:52:26  profilanswer
 

man sed aussi  :kaola:


---------------
Décentralisons Internet-Bépo-Troll Bingo - Ta mère est tellement conne qu’elle passe pas le test de Turing.
n°932122
ironhead36​t
Posté le 09-07-2007 à 14:59:50  profilanswer
 

Merci, ça je connais.
Le problème est que comme je ne connais pas la chaîne complète (ou sa taille) à remplacer, je ne peux pas utiliser sed.
avec awk j'arrive bien à récupérer la ligne exacte, mais je ne vois pas comment la remplacer (je vois bien comment remplacer une chaine de caractere, mais pas une ligne complete)

n°932294
matafan
Posté le 09-07-2007 à 19:37:20  profilanswer
 

Par exemple avec sed, pour remplacer la 3ème ligne par "ma nouvelle ligne" :

sed '3cma nouvelle ligne'


Message édité par matafan le 09-07-2007 à 19:37:53
n°933671
sputnick
bip...bip...bip...bip...bi...b
Posté le 13-07-2007 à 00:43:18  profilanswer
 

sed 7s/.*/POUET/  fichier
 
remplace la 7° ligne par POUET dans fichier  :)

n°933681
matafan
Posté le 13-07-2007 à 07:12:01  profilanswer
 

Pas besoin de s/// ... Voir mon post juste au dessus du tiens.

n°933779
sputnick
bip...bip...bip...bip...bi...b
Posté le 13-07-2007 à 12:51:58  profilanswer
 

oui j'ai vu mais c'est pour montrer plusieurs solutions ;)

n°1410157
jcop
yeah !
Posté le 15-11-2017 à 10:44:14  profilanswer
 

J'ai été confronté au problème à l'instant, juste pour signaler qu'il manque 1  espace dans la 1ère commande :
sed '3cma nouvelle ligne' => sed '3c ma nouvelle ligne'


Message édité par jcop le 15-11-2017 à 10:45:03

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  scrip shell - remplacer une ligne dans un fichier

 

Sujets relatifs
Question bete à propos des nom de fichier linux-source...[Script shell] Debutant
Extraire une partie d'un fichier audio[Apache-PHP] Propriétaire de fichier changeant
fichier bin[Résolu]Script Shell pour Rsync
Recherche fichier status pour dpkgfichier endommage
Rediriger les messages au boot dans un fichierJe n'arrive pas a lire des fichiers MKV (ex en ligne)
Plus de sujets relatifs à : scrip shell - remplacer une ligne dans un fichier


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR