![]() |
Hallo en welkom van de Verenigde Staten aan de UNIX en Linux Forum! Bedankt voor uw bezoek en Deelnemen aan onze wereldwijde gemeenschap.
|
|
google unix.com
|
|||||||
| Forums | Registreer | Forum Regels | Links | Albums | Veelgestelde vragen | Ledenlijst | Kalender | Zoeken | Today's Posts | Markeer forums als gelezen |
| Programmeren en Shell Scripting Post vragen over KSH, CSH, SH, Bash, Perl, PHP, sed, awk en andere shell scripts en shell scripting talen hier. |
Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
|
||||
| Draad | Thread Starter | Forum | Antwoorden | Last Post |
| dringende hulp: wilt controleren van gegevens in Oracle uit flate bestand | unknown123 | Programmeren en Shell Scripting | 3 | 05-18-2009 05:36 PM |
| het converteren van het resultaat van de query te selecteren kommagescheiden gegevens - dringende pls | Hemamalini | Programmeren en Shell Scripting | 1 | 06-16-2008 04:27 |
| formatteren van de harde schijf (schrobben) | Jamiee | SUN Solaris | 0 | 06-12-2008 07:48 |
| Help vervanging of schrobben unicode tekens | roninuta | Programmeren en Shell Scripting | 3 | 01-21-2008 11:39 |
| [dringend hulp nodig] vergelijken gegevens | Bucci | Programmeren en Shell Scripting | 2 | 02-27-2007 11:27 PM |
![]() |
|
|
LinkBack | Thread Tools | Zoeken in deze Thread | Rate Thread | Display Modes |
|
|
|
||||
|
Hi All,
Ik heb een PlatBestand (elke afbakening) van miljoenen lijnen van gegevens, waar in ik moet scrubb de gegevens van de lijn van het standpunt ($ 1) die in invoerparameter tot de duur ($ 2) die in de input-parameter. Ik benut awk, sed maar ik ben niet in staat om het te doen. scrub-toets - 12.345 moet worden vervangen door 67.890 bv: 01289 - vóór gaszuivering 06789 - na gaszuivering voorbeeld: sample.ksh 6 4 Input - PlatBestand: ------- "1234,5678, 0987,12345667,000000976655, +1234,013994878356 " "0987,23467,11243554,0000887651,1234567,09876,1234455 " "0987675,1223443,797784784784,09866545, +232322,097865 " Ik wil dat de output als wassen bestand als volgt: "1234,0678, 0987,12345667,000000976655, +1234,013994878356 " "0987,78967,11243554,0000887651,1234567,09876,1234455 " "0987675,6778443,797784784784,09866545, +232322,097865 " |
|
||||
|
als u 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
|
|
||||
|
Citaat:
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: - Gegevens gaszuivering
de bovenstaande code werkt niet .....
Please help me in het schrijven van deze code in KSH, CSH, SH .... ----- Post Update ----- Hallo jongens, Ik schreef een awk prog ... als hieronder om het te doen. maar het doet voor alle nummers in de PlatBestand. code #: #! / usr / bin / awk-F BEGIN ( CnvFrom \u003d "0123456789"; CnvTo \u003d "4590382617"; Veld \u003d 1; ) ( Newfield \u003d "" for (i \u003d 1; i <\u003d length ($ field); i + +) ( char \u003d substr ($ Veld, i, 1); if (pos \u003d index (CnvFrom, char)) char \u003d substr (CnvTo, pos, 1) Newfield \u003d Newfield char ) $ Veld \u003d Newfield ) Maar mijn requirment te wijzigen / vertalen van de waarden van de positie (input-parameter - $ 2) en lengte (input-parameter - $ 3) voor de PlatBestand in een directory (input-parameter - $ 1). please help me .... bv: scrub.ksh bestand1 68 9 ($ 1 - bestandsnaam, $ 2-postion (68), $ 3 - lenth van positie (9)) Voordat scrub-bestand1: --------------------- "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" Na het schrobben bestand1: ----------------- "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" please help me ..... Ik wil het struikgewas zoals de input parameters ..... help .... Laatst gewijzigd door padhu.47; op 05.27.2009 04:43.. |
![]() |
| Bladwijzers |
| Thread Tools | Zoeken in deze Thread |
| Display Modes | Beoordeel deze draad |
|
|