![]() |
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Regler | Links | Albums | FAQ | Members List | Kalender | Søgning | Dagens Stillinger | Mark Forums Read |
| Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her. |
Mere UNIX og Linux Forum Emner du måske kan finde Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Last Post |
| presserende hjælp: vil kontrollere data i oracle fra flate fil | unknown123 | Shell Programmering og Scripting | 3 | 05-18-2009 06:36 PM |
| hvordan man kan konvertere resultatet af at vælge forespørgslen til kommasepareret data - presserende pls | Hemamalini | Shell Programmering og Scripting | 1 | 06-16-2008 05:27 AM |
| formatering af harddisken (skrubning) | Jamiee | Sun Solaris | 0 | 06-12-2008 08:48 AM |
| Hjælp til erstatning eller skrubning unicode tegn | roninuta | Shell Programmering og Scripting | 3 | 01-21-2008 11:39 AM |
| [presserende behov for hjælp] sammenligne data | Bucci | Shell Programmering og Scripting | 2 | 02-27-2007 11:27 PM |
![]() |
|
|
LinkBack | Thread Tools | Søg denne tråd | Rate Thread | Display Modes |
|
|
|
||||
|
Hi All,
Jeg har en Flatfile (enhver afgrænsning) for millioner af linjer af data, hvor jeg er nødt til at scrubb data i linje fra den holdning ($ 1) er angivet i inputparameteren indtil længde ($ 2) gives i inputparameteren. Jeg udnyttede awk, sed men jeg er ikke i stand til at gøre det. krat nøgle - 12345 bør erstattes af 67890 f.eks: 01289 - før skrubning 06.789 - efter at skrubbe Eksempel: 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 " Jeg ønsker, at produktionen, som skrubbes fil som nedenfor: "1234,0678, 0987,12345667,000000976655, +1234,013994878356 " "0987,78967,11243554,0000887651,1234567,09876,1234455 " "0987675,6778443,797784784784,09866545, +232322,097865 " |
|
||||
|
hvis du har 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
|
|
||||
|
Citat:
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
|
|
||||
|
UOPSÆTTELIG: - Data Scrubbing
ovennævnte kode ikke fungerer .....
behage hjælp mig med at skrive denne kode i ksh, CSH, SH .... ----- Post Update ----- Hej gutter, Jeg har skrev en awk PROG ... som nedenfor for at gøre det. men gør for alle de numre inde i flatfile. kode #: #! / usr / bin / awk-f BEGIN ( CnvFrom \u003d "0123456789"; CnvTo \u003d "4590382617"; Felt \u003d 1; ) ( Newfield \u003d "" for (i \u003d 1; i <\u003d længde ($ Field) i + +) ( CHAR \u003d substr ($ Field, i, 1); if (pos \u003d indeks (CnvFrom, CHAR)) CHAR \u003d substr (CnvTo, pos, 1) Newfield \u003d Newfield CHAR ) $ Field \u003d Newfield ) Men mit requirment er at ændre / omsætte værdierne fra holdning (inputparameteren - $ 2) og længde (inputparameteren - $ 3) for flatfile nævnt i en mappe (inputparameteren - $ 1). behage hjælp mig .... f.eks: scrub.ksh file1 68 9 ($ 1 - filename, $ 2-postion (68), $ 3 - lenth fra holdning (9)) Før krat-file1: --------------------- "37713000000", "12000000202", "0000000000000000000007102", "0000377310013683931", 20090114,20080301,20080331,20060304, 000000000005897." "37713000000", "12000000202", "0000000000000000000007102", "0000377310013683931", 20090114,20080301,20080331,20060304, 000000000005897." "37713000000", "12000000202", "0000000000000000000010739", "0000377310044493243", 20090114,20080501,20080531,20070224, 000000000000000." "37713000000", "12000000202", "0000000000000000000010739", "0000377311018365607", 20090114,20080401,20080430,20070224" Efter krat-file1: ----------------- "37713000000", "12000000202", "0000000000000000000007102", "0000377310450210705", 20090114,20080301,20080331,20060304, 000000000005897." "37713000000", "12000000202", "0000000000000000000007102", "0000377310450210705", 20090114,20080301,20080331,20060304, 000000000005897." "37713000000", "12000000202", "0000000000000000000010739", "0000377310433370930", 20090114,20080501,20080531,20070224, 000000000000000." "37713000000", "12000000202", "0000000000000000000010739", "0000377311451028246", 20090114,20080401,20080430,20070224" behage hjælp mig ..... Jeg ønsker, at krat som pr Inputparametrene ..... behage hjælp .... Sidst redigeret af padhu.47; 05-27-2009 på 05:43 AM.. |
![]() |
| Bogmærker |
| Thread Tools | Søg denne tråd |
| Display Modes | Bedøm denne tråd |
|
|