![]() |
|
|
google unix.com
|
|||||||
| Fórumok | Regisztráció | Fórum Szabályok | Linkek | Albumok | GYIK | Tagok listája | Naptár | Keres | Mai hozzászólások | Megjelöl Fórumok Olvas |
| Shell programozás és Scripting Post kérdések KSH, CSH, SH, Bash, Perl, PHP, SED, AWK ÉS EGYÉB shell szkriptek és shell script nyelvek itt. |
Több, UNIX és Linux fórum témák Ön által talált Hasznos
|
||||
| Szál | Thread Starter | Fórum | Válaszok | Utolsó hozzászólás |
| sürgős segítség: szeretné, hogy ellenőrizze az adatokat az Oracle flate fájl | unknown123 | Shell programozás és Scripting | 3 | 05-18-2009 06:36 PM |
| hogy hogyan kell átalakítani az eredménye, válasszuk a Lekérdezés a vesszővel elválasztott adatok - sürgős pls | Hemamalini | Shell programozás és Scripting | 1 | 06-16-2008 05:27 AM |
| formázás merevlemezt (mosása) | Jamiee | SUN Solaris | 0 | 06-12-2008 08:48 AM |
| Segítség helyett, vagy kimosó unicode karakterek | roninuta | Shell programozás és Scripting | 3 | 01-21-2008 11:39 AM |
| [sürgős segítségre van szükségük] összehasonlítandó adat | Bucci | Shell programozás és Scripting | 2 | 02-27-2007 11:27 PM |
![]() |
|
|
LinkBack | Téma eszközök | Keresés a téma | Rate Thread | Megjelenítési módok |
|
|
|
||||
|
Hi All,
Van egy Flatfile (bármely elhatárolási) millió sornyi adatot, ahol már a scrubb Az adatok a sorban a pozíció ($ 1) megadott bemeneti paramétere amíg a hossz ($ 2) mivel a bemeneti paramétere. I használt awk, sed de nem tudok csinálni. sikál kulcs - 12345 kell helyettesíteni 67890 pl: 01289 - mielőtt kimosó 06789 - miután kimosó Például: 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 " Azt akarom, hogy a kimenet csiszolt fájlt az alábbiak szerint: "1234,0678, 0987,12345667,000000976655, +1234,013994878356 " "0987,78967,11243554,0000887651,1234567,09876,1234455 " "0987675,6778443,797784784784,09866545, +232322,097865 " |
|
||||
|
Ha van Python
Kód:
#!/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)
Kód:
# python test.py "1234,0678,0987,12345667,000000976655,+1234,013994878356" "0987,78967,11243554,0000887651,1234567,09876,1234455" "0987675,6778443,797784784784,09866545,+232322,097865" |
|
||||
|
Kód:
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
|
|
||||
|
Idézet:
Kód:
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: - Data Súroló
A fenti kód nem működik .....
kérem, segítsen nekem írásban ezt a kódot a KSH, CSH, SH .... ----- ----- Post Update Helló srácok, Én írtam egy awk prog ... alatt csinálni. de ezt minden számban belül Flatfile. kód #: #! / usr / bin / awk-f BEGIN ( CnvFrom \u003d "0123456789"; CnvTo \u003d "4590382617"; Mező \u003d 1; ) ( Newfield \u003d "" (i \u003d 1; i <\u003d length ($ field); i + +) ( char \u003d substr ($ field, i, 1); if (pos \u003d index (CnvFrom, char)) char \u003d substr (CnvTo, pos, 1) Newfield \u003d Newfield char ) $ Field \u003d Newfield Nyomtatás ) De az én requirment a change / translate értékek az álláspont (bemeneti paramétere - $ 2) és hossza (bemeneti paramétere - $ 3) A Flatfile említett könyvtár (bemeneti paramétere - $ 1). kérem, segítsen nekem .... pl: scrub.ksh fájl1 68 9 ($ 1 - filename, $ 2-postion (68), $ 3 - lenth az álláspontja (9)) Mielőtt bozót-fájl1: --------------------- "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" Miután bozót-fájl1: ----------------- "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" kérem, segítsen nekem ..... Azt akarom, hogy a bozót mint az input paraméterek ..... kérem, segítsen .... Last edited by padhu.47; 05/27/2009 at 05:43 AM.. |
![]() |
| Könyvjelzõk |
| Téma eszközök | Keresés a téma |
| Megjelenítési módok | Rate this thread |
|
|