The UNIX and Linux Forums  
Hallo en welkom van de Verenigde Staten aan de UNIX en Linux Forum! Bedankt voor uw bezoek en Deelnemen aan onze wereldwijde gemeenschap.

Go Back   De Unix-en Linux Forum > Top Forums > Programmeren en Shell Scripting
.
google unix.com



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

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 Zoeken in deze Thread Rate Thread Display Modes
  #1 (permalink)  
Old 05-26-2009
padhu.47 padhu.47 is offline
Geregistreerde gebruiker
  
 

Join Date: april 2008
Posten: 4
Post URGENT: - Gegevens gaszuivering

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 "
  #2 (permalink)  
Old 05-26-2009
ghostdog74 ghostdog74 is offline Forum Advisor  
Geregistreerde gebruiker
  
 

Join Date: Sep 2006
Berichten: 2522
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)
uitgang
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  
Geregistreerde gebruiker
  
 

Join Date: Jun 2007
Locatie: Beijing China
Berichten: 1.085
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
Geregistreerde gebruiker
  
 

Join Date: april 2008
Posten: 4
URGENT: - Gegevens gaszuivering

Hi All, bedankt voor het antwoord ....
i dont have python of perl ....
Ik heb alleen ksh, bash, sh, csh

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

Join Date: Sep 2000
Locatie: Azië Pacific
Berichten: 6.686
Citaat:
Oorspronkelijk geplaatst door padhu.47 View Post
Hi All, bedankt voor het antwoord ....
i dont have python of perl ....
Ik heb alleen ksh, bash, sh, csh

please help me
Beter te installeren PERL of Python. Het is gratis en eenvoudig te installeren.
  #6 (permalink)  
Old 05-26-2009
ghostdog74 ghostdog74 is offline Forum Advisor  
Geregistreerde gebruiker
  
 

Join Date: Sep 2006
Berichten: 2522
Citaat:
Oorspronkelijk geplaatst door padhu.47 View Post
Hi All, bedankt voor het antwoord ....
i dont have python of perl ....
Ik heb alleen ksh, bash, sh, csh

please help me
gebruik vervolgens 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
Geregistreerde gebruiker
  
 

Join Date: april 2008
Posten: 4
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
print
)


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..
Closed Thread

Bladwijzers

Thread Tools Zoeken in deze Thread
Zoeken in deze Thread:

Uitgebreid zoeken
Display Modes Beoordeel deze draad
Beoordeel deze draad:

Posting Regels
Jij mag niet Post Nieuwe threads
Jij mag niet na antwoorden
Jij mag niet post attachments
Jij mag niet bewerk uw berichten

BB code is Aan
Smilies zijn Aan
[IMG] code Aan
HTML-code is Uit
Trackbacks zijn Aan
Pingbacks zijn Aan
Refbacks zijn Aan




Alle tijden zijn GMT -4. Het is nu 12:52 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Vertalingen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
De Unix-en Linux Forums Copyright © 1993-2009. Alle rechten Reserved.Ad Beheer door RedTyger

Content Relevante URL's door vBSEO 3.2.0