Sed avec étiquette et substition
Résolu
bab1812
Messages postés
10
Date d'inscription
Statut
Membre
Dernière intervention
-
bab1812 Messages postés 10 Date d'inscription Statut Membre Dernière intervention -
bab1812 Messages postés 10 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'aurais encore besoin de votre aide avec la commande sed.
Je souhaiterai avec la commande sed commenter certaines lignes d'un programme pour cela les lignes sont repérer avec une étiquette stocké dans num.
Au préalable j'ai numéroté les lignes de mon programme avec la commande "nl" pour pourvoir les repérer avec l'étiquette.
exemple de lignes d'un fichier temp à commenter :
1 exemple de
2 programme
3 pour la commande sed
Je souhaite commenter la 3eme lignes de maniere à ajouer "C" devant la phrase de la maniere suivante :
1 exemple de
2 programme
3 C pour la commande sed
Pour cela j'utilise un programme fortran dans lequel j'appelle la commande sed avec la fonction "call system"
Voici le bout de programme
/-----------------------------
num ='3 '
field= 'pour'
command = 'sed -i " '//num//' s/'//field//'/C '//field//'/" temp'
print*, 'command =',command
call system(command)
/---------------------------------------------------------
Cette commande marche de manière tres aléatoire.
Auriez vous une commande ou une méthode plus appropriée
Merci de votre aide
J'aurais encore besoin de votre aide avec la commande sed.
Je souhaiterai avec la commande sed commenter certaines lignes d'un programme pour cela les lignes sont repérer avec une étiquette stocké dans num.
Au préalable j'ai numéroté les lignes de mon programme avec la commande "nl" pour pourvoir les repérer avec l'étiquette.
exemple de lignes d'un fichier temp à commenter :
1 exemple de
2 programme
3 pour la commande sed
Je souhaite commenter la 3eme lignes de maniere à ajouer "C" devant la phrase de la maniere suivante :
1 exemple de
2 programme
3 C pour la commande sed
Pour cela j'utilise un programme fortran dans lequel j'appelle la commande sed avec la fonction "call system"
Voici le bout de programme
/-----------------------------
num ='3 '
field= 'pour'
command = 'sed -i " '//num//' s/'//field//'/C '//field//'/" temp'
print*, 'command =',command
call system(command)
/---------------------------------------------------------
Cette commande marche de manière tres aléatoire.
Auriez vous une commande ou une méthode plus appropriée
Merci de votre aide
A voir également:
- L'étiquette présente dans le tampon du point d'analyse n'est pas valide
- Ethernet n'a pas de configuration ip valide - Guide
- Comment inserer une video dans un power point - Guide
- Point de suite word - Guide
- Analyse composant pc - Guide
- Analyse disque dur - Télécharger - Informations & Diagnostic
2 réponses
Salut,
A quoi bon ?
Au préalable j'ai numéroté les lignes de mon programme avec la commande "nl" pour pourvoir les repérer avec l'étiquette.
A quoi bon ?
sedsait faire cela nativement.
$ cat plop
exemple de
programme
pour la commande sed
$ sed '3 s/^/C /' plop
exemple de
programme
C pour la commande sed
$ n=3;sed "${n} s/^/C /" plop
exemple de
programme
C pour la commande sed
Merci pour ta réponse,
quand j'utilise cette 'sed -i "${n} s/^/C /" temp' dans mon programme, ça me commente toutes les lignes ..
Il me semble qu'il ne comprend pas l'étiquette ${n}
Merci
quand j'utilise cette 'sed -i "${n} s/^/C /" temp' dans mon programme, ça me commente toutes les lignes ..
Il me semble qu'il ne comprend pas l'étiquette ${n}
Merci