The UNIX and Linux Forums  

Go Back   Die UNIX-und Linux-Foren > Top Foren > Shell Programmierung und Scripting
.
Google unix.com



Shell Programmierung und Scripting Post Fragen zu ksh, csh, sh, bash, Perl, PHP, sed, awk und anderen Shell-Skripte und Shell-Scripting-Sprachen hier.

Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
Faden Thread Starter Forum Antworten Last Post
dringend Hilfe: überprüfen möchten, Daten in Oracle aus Flate Datei unknown123 Shell Programmierung und Scripting 3 05-18-2009 06:36 PM
Wie man das Ergebnis der SELECT-Abfrage an Komma getrennt Daten - dringend pls Hemamalini Shell Programmierung und Scripting 1 06-16-2008 05:27 AM
Formatierung der Festplatte (Wäsche) Jamiee SUN Solaris 0 06-12-2008 08:48 AM
Hilfe zu ersetzen oder Scrubbing Unicode-Zeichen roninuta Shell Programmierung und Scripting 3 01-21-2008 11:39 AM
[dringend Hilfe benötigen] Vergleich der Daten Bucci Shell Programmierung und Scripting 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 Suche diesen Thread Rate Thread Anzeige-Modi
  #1 (permalink)  
Old 05-26-2009
padhu.47 padhu.47 is offline
Registrierte Nutzer
  
 

Join Date: Apr 2008
Beiträge: 4
Post URGENT: - Daten Scrubbing

Hi All,

Ich habe eine Flatfile (jede Abgrenzung) von Millionen von Daten, wenn ich in scrubb die Daten der Linie von der Position ($ 1) in der Input-Parameter, bis die Länge ($ 2) in der Input-Parameter. Ich genutzt awk, sed aber ich bin nicht in der Lage, es zu tun.

Scrub-Taste - 12345 wird ersetzt durch 67890
zB: 01289 - vor dem Auswaschen
06789 - nach dem Auswaschen


Beispiel: 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 "

Ich möchte, dass die Ausgabe wie gereinigten Datei wie folgt:

"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  
Registrierte Nutzer
  
 

Join Date: Sep 2006
Beiträge: 2544
Wenn Sie Python
Code:
#!/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)
Ausgang
Code:
# 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  
Registrierte Nutzer
  
 

Join Date: Jun 2007
Ort: Peking, China
Posts: 1088
Code:
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
Registrierte Nutzer
  
 

Join Date: Apr 2008
Beiträge: 4
URGENT: - Daten-Wäsche

Hi Alle, vielen Dank für die Antwort ....
i dont haben python oder perl ....
Ich habe nur ksh, bash, sh, csh

bitte helfen Sie mir!
  #5 (permalink)  
Old 05-26-2009
Neo's Avatar
Neo Neo is offline Forum Staff  
Administrator
  
 

Join Date: Sep 2000
Ort: Asien-Pazifik-Raum
Posts: 6754
Zitat:
Zitat von padhu.47 View Post
Hi Alle, vielen Dank für die Antwort ....
i dont haben python oder perl ....
Ich habe nur ksh, bash, sh, csh

bitte helfen Sie mir!
Besser zu installieren PERL oder Python. Es ist kostenlos und einfach zu installieren.
  #6 (permalink)  
Old 05-26-2009
ghostdog74 ghostdog74 is offline Forum Advisor  
Registrierte Nutzer
  
 

Join Date: Sep 2006
Beiträge: 2544
Zitat:
Zitat von padhu.47 View Post
Hi Alle, vielen Dank für die Antwort ....
i dont haben python oder perl ....
Ich habe nur ksh, bash, sh, csh

bitte helfen Sie mir!
dann mit awk
Code:
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
Registrierte Nutzer
  
 

Join Date: Apr 2008
Beiträge: 4
URGENT: - Daten Scrubbing

den oben genannten Code funktioniert nicht .....
Bitte helfen Sie mir schriftlich diesen Code in ksh, csh, SH ....

Post Update ----- -----

hallo Jungs,

Ich schrieb ein awk prog ... unten zu tun. aber die tun, für alle die Zahlen innerhalb der Flatfile.

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

Bereich \u003d 1;
)
(
Newfield \u003d ""
for (i \u003d 1; i <\u003d length ($ Feld); i + +) (
char \u003d substr ($ Feld, i, 1);
if (pos \u003d Index (CnvFrom, char))
char \u003d substr (CnvTo, pos, 1)
Newfield \u003d Newfield char
)
$ Field \u003d Newfield
Drucken
)


Aber meine requirment ist es, / translate die Werte aus der Position (Input-Parameter - $ 2) und Länge (Input-Parameter - $ 3) für die Flatfile in ein Verzeichnis (Input-Parameter - $ 1). Bitte helfen Sie mir ....

zB: scrub.ksh Datei1 68 9 ($ 1 - filename, $ 2-postion (68), $ 3 - Länge von der Position (9))

Vor der Macchia-Datei1:
---------------------
"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"


Nach scrub-Datei1:
-----------------

"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"

Bitte helfen Sie mir ..... Ich möchte, dass die Macchia nach der Input-Parameter .....
Bitte helfen ....

Zuletzt bearbeitet von padhu.47; am 05-27-2009 05:43 AM..
Closed Thread

Lesezeichen

Thread Tools Suche diesen Thread
Suche diesen Thread:

Erweiterte Suche
Anzeige-Modi Rate this thread
Rate this thread:

Forumregeln
Du möglicherweise nicht neue Themen
Du möglicherweise nicht nach Antworten
Du möglicherweise nicht post-Anlagen
Du möglicherweise nicht bearbeiten Sie Ihre Beiträge

BB-Code ist Auf
Smilies sind Auf
[IMG] Code Auf
HTML-Code ist Aus
Trackbacks sind Auf
Pingbacks sind Auf
Refbacks sind Auf




Alle Zeiten sind GMT -4. Es ist jetzt 11:04 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Ltd. Sprachliche Übersetzungen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Die UNIX-und Linux-Foren Content © Copyright 1993-2009. Alle Rechte Reserved.Ad Management von RedTyger

Content Relevant URLs durch vBSEO 3.2.0