scrip shell - remplacer une ligne dans un fichier - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 09-07-2007 à 14:51:33
Si tu ne connais la synthaxe d'une commande, il faut regarder le man. Ca doit devenir un rélfexe.
man awk
Marsh Posté le 09-07-2007 à 14:52:26
man sed aussi
Marsh Posté le 09-07-2007 à 14:59:50
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)
Marsh Posté le 09-07-2007 à 19:37:20
Par exemple avec sed, pour remplacer la 3ème ligne par "ma nouvelle ligne" :
sed '3cma nouvelle ligne' |
Marsh Posté le 13-07-2007 à 00:43:18
sed 7s/.*/POUET/ fichier
remplace la 7° ligne par POUET dans fichier
Marsh Posté le 13-07-2007 à 07:12:01
Pas besoin de s/// ... Voir mon post juste au dessus du tiens.
Marsh Posté le 15-11-2017 à 10:44:14
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'
Marsh Posté le 09-07-2007 à 14:12:30
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