The UNIX and Linux Forums  


Go Back   Les systèmes UNIX et Linux Forums > Top Forums > De programmation et de script Shell
.
google unix.com



De programmation et de script Shell Posez vos questions à propos de KSH, CSH, SH, BASH, PERL, PHP, SED, awk et d'autres scripts shell et les langages de script shell ici.

Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
Fil Thread Starter Forum Réponses Last Post
Traitement d'un fichier CSV janemary.a High Level Programming 1 05-11-2007 07:27 AM
Avoir un script shell pour vérifier un fichier d'exister avant la transformation d'un autre fichier heprox De programmation et de script Shell 3 11-14-2006 03:26 AM
Sur le traitement des fichiers perl GARRIC De programmation et de script Shell 2 09-02-2006 12:25 AM
ligne de traitement dans le fichier fablef00 De programmation et de script Shell 8 01-23-2006 11:41 AM
Traitement d'un fichier texte TheCrunge UNIX pour les nuls Questions et réponses 1 11-09-2005 11:47 AM

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 10-04-2007
manouche manouche is offline
Registered User
  
 

Join Date: Oct 2007
Messages: 13
traitement d'un fichier avec sed et awk

Bonjour,

J'ai ce qui est probablement une tâche facile dans la manipulation de texte, mais je ne peut pas envelopper mon cerveau autour de lui.

J'ai un fichier texte qui ressemble à la suivante. Notez que certains ont initiale médiane dans le premier champ et certaines ne le font pas.

john.r.smith: john.smith @ yahoo.com
george.w.bush: gwbush@whitehouse.gov
larry.doby: ldoby@hotmail.com
tom.t.hall: tom.t.hall @ nashville.com


Je veux retrouver avec un fichier qui ressemble à ceci:


john smith <tab> <tab> john.smith @ yahoo.com
george bush <tab> <tab> gwbush@whitehouse.gov
larry <tab> DOBY <tab> ldoby@hotmail.com
tom <tab> hall <tab> tom.t.hall @ nashville.com

Donc, je veux que chaque ligne de scinder en deux domaines séparés par un onglet. J'ai pu facilement le faire avec awk et écrit dans un fichier.

awk-F ':' '(print $ 1 "\ t" $ 2)' inputfile> outputfile

Je veux éliminer le milieu initial dans le champ 1, s'il est présent. Je peux le faire avec sed, Mais comment puis-je traiter que le champ 1 et laisser le champ 2 intact?

Vos suggestions sont les bienvenues.
  #2 (permalink)  
Old 10-04-2007
reborg's Avatar
reborg reborg is offline Forum Staff  
Administrateur
  
 

Join Date: Mar 2005
Lieu: Irlande
Posts: 4,245
Une façon.

Code:
sed -e 's%\.[a-z]\.%.%' -e 's%\.%        %' -e 's%:%     %'

note les grands espaces sont littérale onglets, que vous pouvez obtenir en tapant ^ v <tab>
  #3 (permalink)  
Old 10-04-2007
devtakh devtakh is offline
Registered User
  
 

Join Date: Oct 2007
Lieu: Bangalore
Messages: 514
il u go

en raison de la limitation de la sed d'interpréter \ t comme un onglet .. et ne pas vouloir un TUPE TAB .. i am using .. combinée avec awk sed..

shud ce travail pour vous ...

sed 's / \ (.* \) \. \ .* \ (.* \) \. \ .* \ (.* \) \ / \ 1 \. \ 3 \: / g' inputfile | nawk-F ':' '(sub (/ \. /, "\ t", $ 1); print $ 1, "\ t", $ 2)'

à la vôtre,
Devaraj Takhellambam
  #4 (permalink)  
Old 10-11-2007
ressorts springs is offline
Registered User
  
 

Join Date: Oct 2007
Messages: 4
pouvez-vous expliquer comment cela fonctionne.

Merci
S
  #5 (permalink)  
Old 10-11-2007
radoulov's Avatar
radoulov radoulov is online now Forum Staff  
addict
  
 

Join Date: Jan 2007
Lieu: Варна, България / Milano, Italia
Posts: 2,926
En supposant que le caractère unique moyen initiales:


Code:
awk '{sub(/\..\.*/,"\t",$1)}1' FS=":" OFS="\t" filename

Utilisez nawk / ou usr/xpg4/bin/awk sur Solaris.
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 12:56 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