Commande Sed à la place de Awk
Résolu/Fermé
Sir_rob1
-
2 avril 2008 à 10:59
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 2 avril 2008 à 12:31
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 2 avril 2008 à 12:31
A voir également:
- Commande Sed à la place de Awk
- Invite de commande - Guide
- Commande terminal mac - Guide
- Diskpart commande - Guide
- Commande dism - Guide
- Peut on aller en fosse avec une place assise - Forum Loisirs / Divertissements
4 réponses
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
2 avril 2008 à 11:05
2 avril 2008 à 11:05
Salut,
voici avec perl
voici avec perl
root@debian:~# cat fic SECURITY_NAME PCT_PAR_QUOTED MTY_TYP AMT_ISSUED PAR_AMT FIRST_SETTLE_DT FIRST_CPN_DT PENULTIMATE_CPN_DT root@debian:~# perl -pi.orig -e 's/(.*)/#date#12345#$.#$1#23#1/' fic root@debian:~# cat fic.orig SECURITY_NAME PCT_PAR_QUOTED MTY_TYP AMT_ISSUED PAR_AMT FIRST_SETTLE_DT FIRST_CPN_DT PENULTIMATE_CPN_DT root@debian:~# cat fic #date#12345#1#SECURITY_NAME #23#1 #date#12345#2#PCT_PAR_QUOTED #23#1 #date#12345#3#MTY_TYP #23#1 #date#12345#4#AMT_ISSUED #23#1 #date#12345#5#PAR_AMT #23#1 #date#12345#6#FIRST_SETTLE_DT #23#1 #date#12345#7#FIRST_CPN_DT #23#1 #date#12345#8#PENULTIMATE_CPN_DT #23#1
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
2 avril 2008 à 12:04
2 avril 2008 à 12:04
La modificaton est faite sur place, et le fichier original et sauvegarder avec l'extension .orig
donc tu n'as pas besoin de rédirection
donc tu n'as pas besoin de rédirection
Désolé mais j'ai encore une question :
comment utiliser ta commande perl dans un script shell?
Car qd je l'exécute il me sort une erreur sur la "(" !
==> syntax error at line 144 : `(' unexpected
Voici ma commande :
*********************
Commande_perl='echo "perl -pi -e 's/(.*)/${cl_date}${ACTIVITY_INSTANCE_ID}${cl_separateur}"$".${cl_separateur}"$"1${cl_separateur}${V_INTERFACE_ID}${cl_separateur}${cl_File_Number}' ${FIC_DATA} "'
eval $Commande_perl
*********************
comment utiliser ta commande perl dans un script shell?
Car qd je l'exécute il me sort une erreur sur la "(" !
==> syntax error at line 144 : `(' unexpected
Voici ma commande :
*********************
Commande_perl='echo "perl -pi -e 's/(.*)/${cl_date}${ACTIVITY_INSTANCE_ID}${cl_separateur}"$".${cl_separateur}"$"1${cl_separateur}${V_INTERFACE_ID}${cl_separateur}${cl_File_Number}' ${FIC_DATA} "'
eval $Commande_perl
*********************
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
2 avril 2008 à 12:17
2 avril 2008 à 12:17
si tu tiens vraiement alors tu peux faire comme ça
106485010510997108
perl -ne 's/(.*)/#date#12345#$.#$1#23#1/' NomDuFichier.Origine > NomDuFichier.ApresTraitement--
106485010510997108
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
2 avril 2008 à 12:31
2 avril 2008 à 12:31
tu n'as pas besoin d'utiliser eval pour ça
il suffit de mettre la commande dans ton script shell
par exemple
il suffit de mettre la commande dans ton script shell
par exemple
#!/bin/sh perl -pi.orig -e 's/(.*)/#date#12345#$.#$1#23#1/' fic
2 avril 2008 à 11:11
2 avril 2008 à 11:12
Perl se trouve sous tous les systèmes Unix ;-)
2 avril 2008 à 11:17
Je ne savais que l'on pouvait utiliser cette commande.
Merci pour ton aide.
2 avril 2008 à 11:20
on dit aussi que que c'est sa faiblesse, mais c'est juste pour passer la balle sur le langage, au lieu de se concentrer sur la façon d'écrire le code ;-DDD
2 avril 2008 à 11:49
comment rediriger le résultat de cette commande dans un autre fichier?
Exemple : NomDuFichier.Origine > NomDuFichier.ApresTraitement