Results 1 to 3 of 3
  1. #1
    Join Date
    Oct 2004
    Posts
    31

    Unanswered: bcp'ing to screen rather than file ?

    Is there a way for me to dump the output from bcp to the screen then piping it through something like sed, awk instead of out'ing it to a file? The reason is I want to do some formating of the output before writing it to file (there are several very large files/tables also note that the tables that I need to bcp change regularly....I'm not overly keen in attempting the use of format files) :



    bcp myDB.dbomyTable out myOutFile.csv -Umyuser -Pmypass -Smyserver -t\"\,\" -c
    Instead of out'ing to myOutFile.csv I would rather out to stdout and then pipe through sed:


    bcp myDB.dbomyTable out -Umyuser -Pmypass -Smyserver -t\"\,\" -c | sed 's/^/"/;s/$/"/'


    The sed simply adds a trailing and leading double quote.


    (or is there a easier way to do this...ultimately I want to columns wrapped in double quotes and comma separated)
    Last edited by bluwulf; 10-20-05 at 23:00.

  2. #2
    Join Date
    Jan 2003
    Location
    Geneva, Switzerland
    Posts
    353
    bcp out to a named pipe, and then cat from the named pipe through whatever filters you want to use.

    Look at the mknod man page on how to create the named pipe.

    Michael

  3. #3
    Join Date
    May 2005
    Location
    South Africa
    Posts
    1,365
    Provided Answers: 1

    named pipe example

    Code:
    $ mkfifo /tmp/bcpfifo
    $ cat /tmp/bcpfifo | gzip -9c >/tmp/bcpdata.gz & 
    [1]     27836
    $ bcp master..sysdatabases out /tmp/bcpfifo -Uuid -Ppasswd -Ssrvname -c
    
    Starting copy...
    
    9 rows copied.
    Clock Time (ms.): total = 1  Avg = 0 (9000.00 rows per sec.)
    [1] +  Done                    cat /tmp/bcpfifo | gzip -9c >/tmp/bcpdata.gz &

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •