![]() |
|
|
Google unix.com
|
|||||||
| Foren | Registrieren | Forum-Regeln | Links | Alben | FAQ | Benutzerliste | Kalender | Suche | Die heutige Beiträge | Alle Foren als gelesen markieren |
| 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 |
![]() |
|
|
LinkBack | Thread Tools | Suche diesen Thread | Rate Thread | Anzeige-Modi |
|
|
|
||||
|
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 " |
|
||||
|
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)
Code:
# python test.py "1234,0678,0987,12345667,000000976655,+1234,013994878356" "0987,78967,11243554,0000887651,1234567,09876,1234455" "0987675,6778443,797784784784,09866545,+232322,097865" |
|
||||
|
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
|
|
||||
|
Zitat:
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
|
|
||||
|
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 ) 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.. |
![]() |
| Lesezeichen |
| Thread Tools | Suche diesen Thread |
| Anzeige-Modi | Rate this thread |
|
|