Go Back   A UNIX és Linux Forums > Top Fórumok > Shell programozás és Scripting
.
Google Site



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.

Closed Thread
English Japanese Spanish French German Portuguese Italian Powered by Powered by Google
 
Téma eszközök Keresés a téma Rate Thread Megjelenítési módok
  #1 (permalink)  
Old 05-30-2009
Regisztrált felhasználó
 

Join Date: Feb 2008
Helyszín: Mumbai
Hozzászólások: 27
Oracle Reports UNIX

nekem van sql szkript (pl: a.sql) generáló 10 csv fájl
ex: a.csv
b.csv
c.csv .........
Nemkéne de szeretne 10 külön csv fájl
szeretnék venni egy csv fájlokat a 10 különböző lapot, amely tartalmazza az összes adatot
ez lehetséges UNIX
Sponsored Links
  #2 (permalink)  
Old 05-30-2009
TonyFullerMalv's Avatar
Regisztrált felhasználó
 

Join Date: Sep 2008
Helyszín: Malvern, Worcs. UK
Hozzászólások: 983
A forgatókönyvben, vagy parancsot do:

Kód:
command > file.csv
secondcommand >> file.csv
thirdcommand >> file.csv

Aztán az első sor létrehoz egy új fájlt, vagy más file.csv felülírja az éppen file.csv, a második és harmadik sor hozzáfűzi, hogy a file.csv fájlt.
  #3 (permalink)  
Old 05-30-2009
durden_tyler's Avatar
Regisztrált felhasználó
 

Join Date: Apr 2009
Posts: 671
Idézet:
Originally Posted by alokjyotibal View Post
...
Azt akarom, Egyetlen csv fájlokat a 10 különböző lap amely tartalmazza az összes adatot
ez lehetséges UNIX
...
A csv fájl egy sima szöveges fájl, és nem formázást. Mint ilyen, nem lehet "fülek" (hacsak nem vagyok valami hiányzik itt.)

Abban az esetben, ha olyan Excel-munkafüzet A több mint egy munkalapot (a "tab" pedig a "munkalap"), akkor használhatjuk perl.

Ez perl program hurkok egyes rendszereken keresztül csv fájlt az aktuális könyvtárban és kiírja az adatokat a munkalap a munkafüzet "alldata.xls" az aktuális könyvtárban. A neve a csv fájl nevét a munkalapon.


Kód:
$ 
$ # display the contents of the csv files
$ cat a.csv
abc,123,def,12.34
xyz,456,pqr,99.87
def,389,rst,1234.56
$                  
$ cat b.csv        
abcdefghi,123456.789
bcdefghij,234567.890
$                   
$ cat c.csv
a,1,bcd,1.2,efg
b,2,cde,2.3,fgh
c,3,def,3.4,ghi
$              
$ # display the contents of the perl program
$                                           
$ cat createwsheets.pl                      
#!/usr/bin/perl -w                          
use Spreadsheet::WriteExcel;                

# create a new workbook
my $workbook = Spreadsheet::WriteExcel->new('alldata.xls');
# loop through csv files                                   
foreach $file (glob "*.csv") {                             
  print "Processing file    => $file\n";                   
  open (F, $file) or die "Can't open $file: $!";           
  @x = <F>;                                                
  close (F) or die "Can't close $file: $!";                
  ($worksheet = $file) =~ s/.csv//;                        
  print "Creating worksheet => $worksheet\n";              
  # create a new worksheet in the workbook                 
  $worksheet = $workbook->add_worksheet($worksheet);       
  $col = $row = 0;
  foreach $elem (@x) {
    @data = split/,/, $elem;
    foreach $cv (@data) {
      # print data in worksheet
      $worksheet->write($row, $col, $cv);
      $col++;
    }
    $row++;
    $col = 0;
  }
  print "-"x30,"\n";
}

$
$ # run the perl program
$
$ perl createwsheets.pl
Processing file    => a.csv
Creating worksheet => a
------------------------------
Processing file    => b.csv
Creating worksheet => b
------------------------------
Processing file    => c.csv
Creating worksheet => c
------------------------------
$
$ ls -1 *.csv *.xls
a.csv
alldata.xls
b.csv
c.csv
$
$

Sőt, akkor csökkentsék néhány általános elkerülésével létrehozása ezen csv fájlokat az első helyen.

Ha ismerjük a felépítését az SQL szkript (ami vagyok, ha feltételezzük, tartalmaz egy csomó "spool" parancsot, ha az adatbázis Oracle), akkor a következőket teheti:

(1) Loop keresztül SQL script, megtakarítva minden SQL vagy PL / SQL "block" egy tömbben, vagy azzal egyenértékű adatok struktúráját.
(2) Csatlakoztassa az Oracle via DBI.
(3) Loop through a tömb lépésben hozott létre (1) és végre egy "block" per eredményt.
(4) Olyan nyomtatott munkalapot és az eredményeket is.
(5) Ismételje meg a lépéseket (3) és (4) az egész tömböt.
(6) Szoros a DBI kapcsolat.

Hope that helps,
tyler_durden
Sponsored Links
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 Ki


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
Útmutató: építhet saját Oracle RAC Cluster kiterjesztette az Oracle VM és az Oracle Enterprise Linux Bot Oracle frissítések (RSS) 0 10-29-2008 03:10 PM
Most, hogy az Oracle SQL Developer Reports Linux Bot Oracle frissítések (RSS) 0 04-06-2008 06:10 AM
Oracle Reports Barcode PLL 1.2 (Default branch) Linux Bot Software Releases - RSS hírek 0 02-28-2008 04:10 AM
Hol vonalkód betűkészleteket go (Oracle jelentések) Chantho A UNIX a dummies Kérdések és válaszok 0 01-09-2008 07:53 AM
HP-UX és Oracle 11,11 jelentések schilukuri HP-UX 1 05-03-2005 04:59 PM



Minden idő GMT -4. Az idő most 02:57 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 Content Copyright © 1993-2010. All Rights Management by Reserved.Ad RedTyger

Content Relevant URLs by vBSEO 3.2.0