The UNIX and Linux Forums  
Hello and Welcome-tól az Egyesült Államokat, hogy az UNIX és Linux Forums? Köszönjük, hogy meglátogatta és csatlakozik Globális Közösség.

Go Back   A UNIX és Linux Forums > Top Fórumok > Shell programozás és Scripting
.
google unix.com



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
Szállítmány av fájlt 2 speciális alapuló textpattern borgeh Shell programozás és Scripting 0 09-24-2007 07:02 PM
Fájl beszúrása 1 egy adott helyen a 2-fájl JCR Shell programozás és Scripting 1 02-01-2007 11:48 AM
hogyan kell szerkeszteni a nagy fájlok UNIX balireddy_77 Shell programozás és Scripting 3 12-14-2006 07:40 AM
Segítség a szerkesztéshez nagy kép jxh461 Shell programozás és Scripting 8 05-19-2003 04:38 PM
hogyan kell szerkeszteni a nagy fájlokat a vi nazri A UNIX a dummies Kérdések és válaszok 3 06-15-2001 09:18 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Téma eszközök Keresés a téma Rate Thread Megjelenítési módok
  #1 (permalink)  
Old 08-29-2007
mvijayv mvijayv is offline
Regisztrált felhasználó
  
 

Join Date: Jan 2007
Hozzászólások: 16
Edit a nagy fájlok helyett

Folks,
Nekem van egy fájl, 50 millió miután 2 oszlopokat. Meg kell tenni a következők:
1. Mintegy véletlen számokat a fix hosszúságú.
2. Helyezzük a második oszlopban a véletlenszerűen kiválasztott sorok a véletlen számokat.

Próbáltam használ egy kicsit perl hogy a véletlenszerű számokat és sed helyére kézzel. A problémát úgy látom, hogy létrehoz egy output helyébe a rekord összes 50 millió. Inkább nem kell a kimeneti létrehozandókéra minden sorban frissítést. Szeretném, ha a teljesítmény, ha minden a frissítések tenni ....
Arra gondoltam, ha lehet szerkeszteni a fájl használatával sed ... Én próbál keresni ezen a helyen lehetőség .. de én dont volna a GNU változata SED ...

Any thoughts ...?

Köszönöm
V
  #2 (permalink)  
Old 08-30-2007
Ilan ilan is offline
Regisztrált felhasználó
  
 

Join Date: Jul 2007
Posts: 101
Itt az első át a követelmény:
>> 1. Mintegy véletlen számokat a fix hosszúságú.

i \u003d 00000000
echo $ RANDOM $ i | cut-c 1-8

A fenti szolgálja generál véletlen számokat több mint 50 millió, megint nem tudja biztosan, hogy milyen gyakran több ismétli!

nem derül ki, a második követelményt. egyedi kérlek ...

-Ilan
  #3 (permalink)  
Old 08-30-2007
mvijayv mvijayv is offline
Regisztrált felhasználó
  
 

Join Date: Jan 2007
Hozzászólások: 16
Szia Ilan,
Kösz, hogy ezt ... Én már az első darab alakított ki ... Én is generál egy véletlen számot használ egy kis perl parancsfájlt, hogy letöltötte a nettó ... de van egy probléma-val a második rész ... Megpróbálom leírni, hogy jobb.

Én már 50 millió, 2 oszlopokat. Mind az oszlopok vannak jelen a rekordokat.

STEP1: Létrehoz egy véletlenszerű érték (ez az a része, gondoltam arra, fent)
2. lépés: Keresse meg a véletlen rekord között, a 50 millió
Step3: Az az érték, a második oszlopban az értéket generált 1 lépésben.
Step4: Menj vissza a STEP1, egy új értéket, keressen másik véletlenszerű rekord, cserélje ki ezt az értéket, és így tovább, mintegy egy millió alkalommal.

Azt akarom, hogy tudja, hogy ezt a helyet, mert mindig én pótolja a nyilvántartás segítségével awk, ezért a teljes 50 millió befogadó a változás, mint a kimenő és én át a kimenetet egy másik fájlt, nevezd át az eredeti, és kezdje újra Ismét a következő iterációs.
Amire szükség van, olyan módon, hogy módosítsuk a fájl helyett egy véletlenszerű loop azonosító adatok és a változó a második oszlop egy millió alkalommal.


A magas szintű követelmény a következő:
Mivel a kép az 50 millió, van-e egy fájl, ami 50 millió, de az 1 millió, amelynek második oszlop változik, hogy az első kép. Lehet, hogy van egy egyszerűbb módja annak, hogy ezt ... De én most stumped ....


Köszönöm,
V
  #4 (permalink)  
Old 08-31-2007
ahmedwaseem2000 ahmedwaseem2000 is offline
Regisztrált felhasználó
  
 

Join Date: Aug 2005
Helyszín: Bangalore
Posts: 219
Could you please post néhány mintaadatok bemeneti és kimeneti, így inkább egyértelmű a követelménynek.
  #5 (permalink)  
Old 09-03-2007
mvijayv mvijayv is offline
Regisztrált felhasználó
  
 

Join Date: Jan 2007
Hozzászólások: 16
12123 | 12345678
42142 | 23442253
52315 | 32250205
....
....
...
....
....
mintegy 50 millió

Most akarok véletlenszerűen választani nyilvántartásokat, és módosítsa az értéket a második oszlop

Például, ha úgy döntök, a második feljegyzés szúrópróbaszerűen. Fogok változtatni a 2. oszlop a véletlen érték:

12123 | 12345678
42142 | 53988989
52315 | 32250205
....
....
...
....
....

ugyanazon művelet 1 millió alkalommal kiválasztásánál minden alkalommal más rekordot véletlenszerűen.
  #6 (permalink)  
Old 09-03-2007
fazliturk fazliturk is offline
Regisztrált felhasználó
  
 

Join Date: Aug 2007
Hozzászólások: 45
Megpróbáltam az alábbi kódot AIX, a KSH
kódot a hosszú, de nincs közben stb
hadd mondja el az eredeti file origfile

1. lépés.

sed s /"|"/" "/ g origfile> átmeneti

/ ** Ha dont volna sed , meg kell változtatni "|" üres a someting * /
/ Ezt követően az eredeti kép így néz ki 12123 12345678 * /

grep-n "^ $" átmeneti> origfile, rm átmeneti

/ * után az eredeti kép így néz ki;
1 12123 12345678
2 42142 53988989

2. lépéssel.
/ ** előállításához 1 millió véletlen számokat, és mentse a RandNumbersFile ** /

3. lépést.
/ ** előállításához 1 millió véletlen számokat, és mentse a RandRecordsFile ** /
sort-u RandRecordsFile> átmeneti
mv átmeneti RandRecordsFile

/ * lehet előállítani 1 millió számot, de ha ez a fajta unically lehet kevesebb, mint 1 millió. akkor győződjön meg róla, hogy minden sorban ez a fájl egyedi, a fenti parancs intézkedik e * /

Legyen "NeededLine \u003d 1000000 -` wc-l RandRecordsFile | awk '(print $ 1)' ""

/ * Ez a sor megmutatja, hogy hány új rekord van szükség után sort * /

counter \u003d 0
míg [$ counter-lt $ NeededLine]
tesz
/ ** termék véletlen RandomRecord (jelentése véletlenszerű szám). Azt hozzá kell adnia a kódot itt ** /
$ grep RandomRecord RandomRecordsFile> / dev / null
if [$? -ne 0]
majd
echo $ RandomRecord>> RandomRecordsFile
Legyen "counter \u003d $ counter +1"
fi
kész
sort-u RandomRecordsFile> átmeneti
Beillesztés átmeneti RandNumbersFile> RandomRecordsFile
rm átmeneti

/ ** Ezt követően a RandomRecordsFile így néz ki;
1 12345678
27 53988989
első jelentése rekord szám, a második rundom területen (orig második mező) ** /

csatlakozzon-v1 origfile RandomRecordsFile> átmeneti / ** páratlan sorokat ** /
csatlakozzon-o 1.1,1.2,2.2 origfile RandomRecordsFile>> átmeneti / * kiegyenlített tételek * /
sort-u átmeneti> origfile / * sort a field1 * /
/ ** ha szükséges fel ezeket a sorokat
cut-f2, f3 origfile> átmeneti
sed s / ""/"|"/ g átmeneti> origfile ** /
rm átmeneti

így a kód;
/ ** előállításához 1 millió véletlen számokat, és mentse a RandNumbersFile ** /
/ ** előállításához 1 millió véletlen számokat, és mentse a RandRecordsFile ** /

CP yourfile origfile
sed s /"|"/" "/ g origfile> átmeneti
grep-n "^ $" átmeneti> origfile
sort-u RandRecordsFile> átmeneti
mv átmeneti RandRecordsFile
Legyen "NeededLine \u003d 1000000 -` wc-l RandRecordsFile | awk '(print $ 1)' ""
míg [$ counter-lt $ NeededLine]
tesz
/ ** termék véletlen RandomRecord (jelentése véletlenszerű szám). Azt hozzá kell adnia a kódot itt ** /
$ grep RandomRecord RandomRecordsFile> / dev / null
if [$? -ne 0]
majd
echo $ RandomRecord>> RandomRecordsFile
Legyen "counter \u003d $ counter +1"
fi
kész
sort-u RandomRecordsFile> átmeneti
Beillesztés átmeneti RandNumbersFile> RandomRecordsFile
csatlakozzon-v1 origfile RandomRecordsFile> átmeneti
csatlakozzon-o 1.1,1.2,2.2 origfile RandomRecordsFile
sort-u átmeneti> origfile
rm átmeneti

Last edited by fazliturk; 09/03/2007 at 08:41 AM..
Closed Thread

Könyvjelzõk

Téma eszközök Keresés a téma
Keresés a téma:

Részletes keresés
Megjelenítési módok Rate this thread
Rate this thread:

Posting szabályzat
Ön nem post new threads
Ön nem post válaszok
Ön nem post Csatolmányok
Ön nem szerkeszteni az üzeneteidet

BB kód van Be
Smilies vannak Be
[IMG] kód Be
HTML kód Ki
Trackbacks vannak Be
Pingbacks vannak Be
Refbacks vannak Be




Minden idő GMT -4. Az idő most 05:40 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Nyelvre lefordítva Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
A UNIX és Linux Fórum Tartalom Copyright © 1993-2009. Minden jog Reserved.Ad menedzsment RedTyger

Content Relevant URLs by vBSEO 3.2.0