The UNIX and Linux Forums  
Bonjour et bienvenu par les États-Unis à la UNIX et Linux Forums! Merci de votre visite et vous joindre à notre communauté mondiale.

Go Back   Les systèmes UNIX et Linux Forums > Top Forums > UNIX pour les nuls Questions et réponses
.
google unix.com



UNIX pour les nuls Questions et réponses Si vous ne savez pas où poster un UNIX ou Linux question, post it here. Tous les systèmes UNIX et Linux, débutants bienvenus!

Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
Fil Thread Starter Forum Réponses Last Post
caractères de sortie d'une commande dans une variable muaz De programmation et de script Shell 3 06-02-2008 10:13 AM
CUT commande - découpage, les caractères de fin de chaîne JWilliams AIX 2 01-28-2008 09:12 AM
comment garder une nouvelle ligne de caractères dans l'exécution de commandes résultat? pankai De programmation et de script Shell 2 01-02-2008 05:41 PM
Commande pour obtenir que les trois personnages du mois prashanth_gs UNIX pour les nuls Questions et réponses 2 02-12-2007 07:38 AM
Commande Unix pour trouver Nul Personnages fundidor UNIX pour les nuls Questions et réponses 2 05-01-2005 12:32 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Recherche sur ce Thread Rate Thread Modes d'affichage
  #1 (permalink)  
Old 04-25-2007
IHulky IHulky is offline
Registered User
  
 

Join Date: Apr 2007
Messages: 4
Sed de commande avec des caractères

Salut tout le monde, j'espère que quelqu'un pourra m'aider:

Dans la ligne suivante:

PRIHDR; 2809999444; 2007 6,1; 20070423; 9;; 4021473000003;; 4021473000003, 8714231530688; EUR;;

La sortie doit être:

PRIHDR; 2809999444; 2007 6,1; 20070423; 4;; 4021473000003;; 4021473000003, 8714231530688; EUR;;

J'ai essayé quelques variantes de la commande suivante:

sed 's /, 9,, / 4;;;' <oldfile> newfile

Quand je lance cette commande, il raconte ce qui s'est réuni à voir avec le ";" comment puis-je résoudre ce problème?

Merci à l'avance,

IHulky

ps les autres lignes dans le document (ligne 2 et plus) doivent être copiés ainsi à un nouveau fichier.

Dernière édition par IHulky; au 04.25.2007 08:57 PM..
  #2 (permalink)  
Old 04-25-2007
ghostdog74 ghostdog74 is offline Forum Advisor  
Registered User
  
 

Join Date: Sep 2006
Posts: 2538
vous pouvez utiliser awk? dire que vous avez cette ligne dans un fichier
Code:
# awk -F ";" 'OFS=";"{$5=4;print}' file
PRIHDR;2809999444;2007 6.1;20070423;4;;4021473000003;;4021473000003;8714231530688;EUR;;
  #3 (permalink)  
Old 04-25-2007
IHulky IHulky is offline
Registered User
  
 

Join Date: Apr 2007
Messages: 4
Citation:
Posté par ghostdog74
vous pouvez utiliser awk? dire que vous avez cette ligne dans un fichier
Code:
# awk -F ";" 'OFS=";"{$5=4;print}' file
PRIHDR;2809999444;2007 6.1;20070423;4;;4021473000003;;4021473000003;8714231530688;EUR;;
Cela fonctionnait parfaitement grâce, pouvez-vous me dire comment garder la commande sur la première ligne. Dans les lignes ci-dessous certains des personnages ont été modifiés à 4.

S'il est utile que toute la première ligne commence avec PRIHDR

Merci
  #4 (permalink)  
Old 04-25-2007
ghostdog74 ghostdog74 is offline Forum Advisor  
Registered User
  
 

Join Date: Sep 2006
Posts: 2538
Code:
awk -F ";" 'BEGIN {OFS = ";"} /^PRIHDR/{$5=4;print}  ' file
  #5 (permalink)  
Old 04-25-2007
IHulky IHulky is offline
Registered User
  
 

Join Date: Apr 2007
Messages: 4
Avoir de la tester plus avant, quand je lancer la commande, il imprime le bon de sortie à l'écran, mais le fichier lui-même n'est pas modifié.

Merci pour l'info, à tester de nouvelles demain, comme il est 02h30 du matin ici, dans les Pays-Bas et le travail commence à 08h00 ..

Si vous avez une idée, j'ai l'amour pour les entendre.

Merci encore
  #6 (permalink)  
Old 04-25-2007
ghostdog74 ghostdog74 is offline Forum Advisor  
Registered User
  
 

Join Date: Sep 2006
Posts: 2538
awk ne modifie pas les fichiers, sauf si vous lui demandez de. il vous suffit de rediriger la sortie vers un autre fichier de redirection utilisant le signe ( "" la commande awk "> anotherfile)
  #7 (permalink)  
Old 04-26-2007
anbu23 anbu23 is offline Forum Advisor  
Registered User
  
 

Join Date: Mar 2006
Lieu: Bangalore, Inde
Posts: 1398
Citation:
Posté par IHulky
Salut tout le monde, j'espère que quelqu'un pourra m'aider:

Dans la ligne suivante:

PRIHDR; 2809999444; 2007 6,1; 20070423; 9;; 4021473000003;; 4021473000003, 8714231530688; EUR;;

La sortie doit être:

PRIHDR; 2809999444; 2007 6,1; 20070423; 4;; 4021473000003;; 4021473000003, 8714231530688; EUR;;

J'ai essayé quelques variantes de la commande suivante:

sed 's /, 9,, / 4;;;' <oldfile> newfile

Quand je lance cette commande, il raconte ce qui s'est réuni à voir avec le ";" comment puis-je résoudre ce problème?

Merci à l'avance,

IHulky

ps les autres lignes dans le document (ligne 2 et plus) doivent être copiés ainsi à un nouveau fichier.
Ajouter la barre oblique
Code:
sed '/^PRIHDR/s/;9;;/;4;;/' <oldfile >newfile
mv newfile oldfile
Code:
perl -i -ne ' s/;9;;/;4;;/ if ( /^PRIHDR/ ); print ' file
Closed Thread

Bookmarks

Thread Tools Recherche sur ce Thread
Recherche sur ce Thread:

Recherche avancée
Modes d'affichage Rate this thread
Rate this thread:

Règles de messages
Tu mai pas de nouvelles discussions: nonoui
Tu mai pas envoyer des réponses:
Tu mai pas envoyer des pièces jointes
Tu mai pas modifier vos messages

BB code est Sur
Smilies sont Sur
[IMG] code est Sur
Le code HTML est Hors tension
Trackbacks sont Sur
Pingbacks sont Sur
Refbacks sont Sur




Toutes les heures sont au format GMT -4. Le temps est maintenant 10:04 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traductions Langue Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Les systèmes UNIX et Linux Forums Content Copyright © 1993-2009. Tous droits Reserved.Ad de gestion par RedTyger

Content Relevant URLs par vBSEO 3.2.0