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
Suppression de virgule en virgule dans un fichier plat r_t_1601 De programmation et de script Shell 10 06-16-2009 07:52 AM
supprimer l'aide de sed-virgule à Aix - urgent aixjadoo UNIX pour les nuls Questions et réponses 9 06-16-2008 02:41 PM
Suppression de la remorque d'un fichier plat! kumarsaravana_s UNIX pour les nuls Questions et réponses 12 06-24-2007 04:53 AM
Rembourrages de zéros après la suppression de virgules dans le fichier pranag21 HP-UX 1 11-09-2005 10:22 PM
supprimer les virgules à partir de fichiers texte hcclnoodles UNIX pour les nuls Questions et réponses 6 03-26-2003 04:43 PM

Reply
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 Rating: Thread Rating: 2 votes, 4.50 average. Modes d'affichage
  #1 (permalink)  
Old 06-16-2009
r_t_1601 r_t_1601 is offline
Registered User
  
 

Date d'inscription: juin 2009
Posts: 25
Suppression de virgule en virgule dans un fichier plat

Je reçois un fichier plat (séparés par des virgules), avec une virgule entre guillemets dans l'un des champs de la source. i nécessité de supprimer la virgule entre guillemets et de traiter les fichiers par la suite

champs dans le fichier
\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d
col1, col2, col3, col4

d'entrée peuvent être de toute le texte suivant
\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d
rohan, rahul, Kunal, "sw, ati"
rohan, rahul, "kun, al", Swati
rohan, "rah, ul", Kunal, Swati
"ro, han", rahul, Kunal, Swati

la production devrait être
\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d
rohan, rahul, Kunal, Swati

comment pouvons-nous atteindre cet objectif ..
merci d'avance
  #2 (permalink)  
Old 06-16-2009
ghostdog74 ghostdog74 is offline Forum Advisor  
Registered User
  
 

Join Date: Sep 2006
Messages: 2557
si vous avez Python, vous pouvez utiliser son module csv

Code:
#!/usr/bin/env python
import csv
filename = "file"
reader = csv.reader(open(filename),delimiter=",")
for row in reader: 
    for n,item in enumerate(row):
        row[n]=row[n].replace(",","")
    print ','.join(row)

sortie

Code:
# more file
rohan,rahul,kunal,"sw,ati"
rohan,rahul,"kun,al",swati
rohan,"rah,ul",kunal,swati
"ro,han",rahul,kunal,swati

# ./test.py
rohan,rahul,kunal,swati
rohan,rahul,kunal,swati
rohan,rahul,kunal,swati
rohan,rahul,kunal,swati

  #3 (permalink)  
Old 06-16-2009
ahmad.diab's Avatar
ahmad.diab ahmad.diab is offline
Registered User
  
 

Join Date: Mai 2008
Lieu: Amman, en Jordanie MEA
Messages: 238
nous avons déjà fait cela en utilisant sed avant 2 heures !!!!!


Code:
sed 's/\(.*\),\(.*\)/\1\2/g'  file.txt

BR
  #4 (permalink)  
Old 06-16-2009
ghostdog74 ghostdog74 is offline Forum Advisor  
Registered User
  
 

Join Date: Sep 2006
Messages: 2557
Citation:
Posté par ahmad.diab View Post
nous avons déjà fait cela en utilisant sed avant 2 heures !!!!!


Code:
sed 's/\(.*\),\(.*\)/\1\2/g'  file.txt

BR
ce n'est pas aussi simple que cela.
  #5 (permalink)  
Old 06-17-2009
summer_cherry summer_cherry is offline Forum Advisor  
Registered User
  
 

Date d'inscription: juin 2007
Lieu: Beijing Chine
Posts: 1,092
Mai essayer ci-dessous perl.


Code:
while(<DATA>){
	s/,(?=[^,"]+")//;
	s/"//g;
	print;
}
__DATA__
rohan,rahul,kunal,"sw,ati"
rohan,rahul,"kun,al",swati
rohan,"rahul",kunal,"sw,ati"
"ro,han",rahul,kunal,swati

  #6 (permalink)  
Old 06-16-2009
r_t_1601 r_t_1601 is offline
Registered User
  
 

Date d'inscription: juin 2009
Posts: 25
pouvez-vous s'il vous plaît dites pertinentes unix code
  #7 (permalink)  
Old 06-17-2009
balaji_red83 balaji_red83 is offline
Registered User
  
 

Date d'inscription: juin 2009
Messages: 7
Essayez le code ci-dessous. Ceci fonctionne même si vous avez plus d'une virgule dans une ligne.


Code:
 
use strict;
use warnings;
while(<DATA>) {
        s/\"(.*?)\,(.*?)\"/$1.$2/ge;
        print;
}
__END__
"ro,han",rahul,kunal,"sw,ati"
rohan,"r,ahul","kun,al",swati
rohan,"rah,ul",kunal,swati
"ro,han",rahul,kunal,"s,wati"


Dernière édition par balaji_red83; au 06.17.2009 07:09 AM..
Reply

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 02:25 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