The UNIX and Linux Forums  
Ciao e benvenuto da parte degli Stati Uniti al UNIX e Linux Forum! Grazie per la visita ed unirsi alla nostra Comunità Globale.

Go Back   UNIX e Linux Forum > Inizio Forum > Shell scripting e di programmazione
.
google unix.com



Shell scripting e di programmazione Pubblica domande su KSH, CSH, SH, Bash, Perl, PHP, sed, awk e da altri script di shell e linguaggi di scripting shell qui.

Più di UNIX e Linux Forum Argomenti potreste trovare utili
Filo Thread Starter Forum Risposte Ultimo Post
aiuto urgente: desidera verificare i dati in Oracle da Flate file unknown123 Shell scripting e di programmazione 3 05-18-2009 06:36 PM
come convertire i risultati delle query di selezione di dati separati da virgola - urgente pls Hemamalini Shell scripting e di programmazione 1 06-16-2008 05:27 AM
la formattazione del disco rigido (lavaggio) Jamiee SUN Solaris 0 06-12-2008 08:48 AM
Aiuto sostituzione o lavaggio caratteri unicode roninuta Shell scripting e di programmazione 3 01-21-2008 11:39 AM
[urgente bisogno di aiuto] confrontare i dati Bucci Shell scripting e di programmazione 2 02-27-2007 11:27 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 Cerca in questo Thread Rate Thread Modalità di visualizzazione
  #1 (permalink)  
Old 05-26-2009
padhu.47 padhu.47 is offline
Utente Registrato
  
 

Iscriviti Data: aprile 2008
Interventi: 4
Post URGENT: - I dati Scrubbing

Hi All,

Ho un Flatfile (qualsiasi delimitazione) di milioni di righe di dati, in cui ho scrubb per i dati della linea dalla posizione ($ 1) di cui al parametro di input fino a quando la lunghezza ($ 2) di cui il parametro di input. Ho utilizzato awk, sed ma non sono in grado di farlo.

macchia chiave - 12345 dovrebbe essere sostituito da 67890
ad esempio: 01289 - prima del lavaggio
06789 - dopo il lavaggio


esempio: sample.ksh 6 4



Input - Flatfile:
-------
"1234,5678, 0987,12345667,000000976655, +1234,013994878356 "
"0987,23467,11243554,0000887651,1234567,09876,1234455 "
"0987675,1223443,797784784784,09866545, +232322,097865 "

Voglio che il file di output come fregati come segue:

"1234,0678, 0987,12345667,000000976655, +1234,013994878356 "
"0987,78967,11243554,0000887651,1234567,09876,1234455 "
"0987675,6778443,797784784784,09866545, +232322,097865 "
  #2 (permalink)  
Old 05-26-2009
ghostdog74 ghostdog74 is offline Forum Advisor  
Utente Registrato
  
 

Join Date: Sep 2006
Interventi: 2.538
se si dispone di Python
Codice:
#!/usr/bin/env python
import string
FROM="12345"
TO="67890"
table=string.maketrans(FROM,TO)
for line in open("file"):
    line=line.strip().split(",")
    line[1]=line[1][:4].translate(table) + ''.join(line[1][4:])
    print ','.join(line)
uscita
Codice:
# python test.py
"1234,0678,0987,12345667,000000976655,+1234,013994878356"
"0987,78967,11243554,0000887651,1234567,09876,1234455"
"0987675,6778443,797784784784,09866545,+232322,097865"
  #3 (permalink)  
Old 05-26-2009
summer_cherry summer_cherry is offline Forum Advisor  
Utente Registrato
  
 

Iscriviti Data: giugno 2007
Ubicazione: Pechino Cina
Messaggi: 1.088
Codice:
sub scrub{
	my($pos,$len)=(@_);
	while(<DATA>){
		substr($_,$pos-1,$len) =~ y/12345/67890/;
		print $_;
	}
}
scrub(6,3);
__DATA__
1234,5678,0987,12345667,000000976655,+1234,013994878356
0987,23467,11243554,0000887651,1234567,09876,1234455
0987,1223443,797784784784,09866545,+232322,097865
  #4 (permalink)  
Old 05-26-2009
padhu.47 padhu.47 is offline
Utente Registrato
  
 

Iscriviti Data: aprile 2008
Interventi: 4
URGENT: - I dati di lavaggio

Ciao a tutti, grazie per la risposta ....
i dont hanno python o perl ....
Ho solo ksh, bash, sh, csh

please help me
  #5 (permalink)  
Old 05-26-2009
Neo's Avatar
Neo Neo is online now Forum Staff  
Administrator
  
 

Join Date: Sep 2000
Località: Asia-Pacifico
Messaggi: 6.715
Citazione:
Originalmente inviato da padhu.47 View Post
Ciao a tutti, grazie per la risposta ....
i dont hanno python o perl ....
Ho solo ksh, bash, sh, csh

please help me
Migliore per installare PERL o Python. E 'gratuito e facile da installare.
  #6 (permalink)  
Old 05-26-2009
ghostdog74 ghostdog74 is offline Forum Advisor  
Utente Registrato
  
 

Join Date: Sep 2006
Interventi: 2.538
Citazione:
Originalmente inviato da padhu.47 View Post
Ciao a tutti, grazie per la risposta ....
i dont hanno python o perl ....
Ho solo ksh, bash, sh, csh

please help me
quindi l'uso di awk
Codice:
awk -F"," 'BEGIN{
 t["1"]="6"
 t["2"]="7"
 t["3"]="8"
 t["4"]="9"
 t["5"]="0" 
}
{
 s=""
 for(i=1;i<=4;i++){
  if( substr($2,i,1) in t ){
     s=s t[substr($2,i,1)]
  }else{
     s=s substr($2,i,1)
  }   
 }
 $2=s substr($2,5)
}
1
' OFS="," file
  #7 (permalink)  
Old 05-27-2009
padhu.47 padhu.47 is offline
Utente Registrato
  
 

Iscriviti Data: aprile 2008
Interventi: 4
URGENT: - I dati Scrubbing

il codice sopra non funziona .....
please help me in questo codice in KSH, CSH, SH ....

Aggiornamento post ----- -----

ciao ragazzi,

Ho scritto una awk prog ... come qui di seguito per farlo. ma il suo modo per tutti i numeri all'interno del Flatfile.

Codice #:
#! / usr / bin / awk-f
BEGIN (
CnvFrom \u003d "0123456789";
CnvTo \u003d "4590382617";

Campo \u003d 1;
)
(
Newfield \u003d ""
for (i \u003d 1; i <\u003d lunghezza ($ campo); i + +) (
char \u003d substr ($ campo, i, 1);
if (pos \u003d indice (CnvFrom, char))
char \u003d substr (CnvTo, pos, 1)
Newfield \u003d char Newfield
)
$ Field \u003d Newfield
stampa
)


Ma la mia requirment è necessario modificare / tradurre i valori dalla posizione (parametro di input - $ 2) e lunghezza (parametro di input - $ 3) per il Flatfile menzionato in una directory (parametro di input - $ 1). please help me ....

ad esempio: scrub.ksh file1 68 9 ($ 1 - il nome del file, $ 2-postion (68), $ 3 - lenth da posizione (9))

Prima di macchia file1:
---------------------
"37713000000", "12000000202", "0000000000000000000007102", "0000377310013683931", 20090114,20080301,20080331,20060304, 000.000.000.005.897".
"37713000000", "12000000202", "0000000000000000000007102", "0000377310013683931", 20090114,20080301,20080331,20060304, 000.000.000.005.897".
"37713000000", "12000000202", "0000000000000000000010739", "0000377310044493243", 20090114,20080501,20080531,20070224, 000.000.000.000.000".
"37713000000", "12000000202", "0000000000000000000010739", "0000377311018365607", 20090114,20080401,20080430,20070224"


Dopo macchia file1:
-----------------

"37713000000", "12000000202", "0000000000000000000007102", "0000377310450210705", 20090114,20080301,20080331,20060304, 000.000.000.005.897".
"37713000000", "12000000202", "0000000000000000000007102", "0000377310450210705", 20090114,20080301,20080331,20060304, 000.000.000.005.897".
"37713000000", "12000000202", "0000000000000000000010739", "0000377310433370930", 20090114,20080501,20080531,20070224, 000.000.000.000.000".
"37713000000", "12000000202", "0000000000000000000010739", "0000377311451028246", 20090114,20080401,20080430,20070224"

please help me ..... Voglio che la macchia come parametri di input per la .....
please help ....

Ultimo a cura di padhu.47; al 05/27/2009 05:43 AM..
Closed Thread

Segnalibri

Thread Tools Cerca in questo Thread
Cerca in questo Thread:

Ricerca Avanzata
Modalità di visualizzazione Vota questo thread
Vota questo thread:

Distacco regolamento
Tu non può post nuovo thread
Tu non può inviare una risposta
Tu non può postare allegati
Tu non può modificare i tuoi post

BB codice è Su
Smilies sono Su
[IMG] codice Su
Codice HTML è Chiuso
Trackbacks sono Su
Pingbacks sono Su
Refbacks sono Su




Tutti gli orari sono GMT -4. La data di oggi è 10:17 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traduzioni Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX e Linux Forum Content Copyright © 1993-2009. Tutti i diritti Reserved.Ad di gestione da RedTyger

Contenuti pertinenti URL da vBSEO 3.2.0