Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> Re: joining word/ lines in a file

Re: joining word/ lines in a file

From: Jared Still <jkstill_at_cybcon.com>
Date: Tue, 28 May 2002 21:08:18 -0800
Message-ID: <F001.0046D8F6.20020528210818@fatcity.com>

Here's a perl one liner:

perl -ne 'chomp; print; print qq{\n} if /\;$/' file1.txt > newfile.txt

If isn't perfect. An 'and' at the end of the line will be joined with the beginning of the next line, which is not right.

I use the following two regular expressions to create executable SQL from v$sqltext. You may find them useful if you explore your Perl options.

   $sql =~ s/

      (--\s*(([\w]+)\s+))?
      (?=
         and\s+[\w+\.+]+\s*(\=|between|\<\>|\!\=)

|or\s+[\w+\.+]+\s*(\=|between|\<\>|\!\=)
|where\s+[\w+\.+]+\s*(\=|between|\<\>|\!\=)
|select
|union
|minus
|intersection
|from
|where
|order\s+by
|group\s+by
)

   /\n$5/gomix;

   $sql =~ s/(\s+

      --\s*where
      |--\s*from
      |--\s*group\s+by
      |--\s*order\s+by
      |--\s*select
      |--\s*union
      |--\s*minus
      |--\s*intersection
      #|select
      #|union
      #|minus
      #|intersection
      #|from
      #|where
      #|order\s+by
      #|group\s+by\s+

   )/\n$1/gomix;

Jared

On Tuesday 28 May 2002 20:58, Suhen Pather wrote:

> List, slightly off topic but
>
> Unix OS
>
> I need to join lines/ words in a file.
> So that it must be in a readable Oracle format.
>
> They are seperated by a newline.
>
> Here is a snippet of what the file looks like.
>
> FILE1
>
> delete from JDAPROD.HBI_LOST_SALES where SKU_TECHNICAL_KEY = 1410 and
> STORE_TECH
> NICAL_KEY = 276 and STORE_NO = 315 and STORE_NAME = 'Glenfield SB 315
> ' and SKU = '1516803' and SKU_NAME = 'WMERE ORGAN
> ISER Black ' and DEPT = '052' and DEPT_N
> AME = 'Travel Bags' and CLASS = '05211
> ' and CLASS_NAME = 'Travel Bags' a
> nd FORMAT_EXISTS = 'Y' and STOCK_ON_HAND = 2 and STOCK_IN_WAREHOUSE = 433
> and RE
> QUESTED_UNITS = 0 and ALLOCATED_UNITS = 0 and UNIT_SALES_CURRENT_DAY = 0
> and UNI
> T_SALES_LAST_7_DAYS = 0 and UNIT_SALES_LAST_6_WEEKS = 2 and ON_HAND_COST =
> 41.23
> 7 and ON_HAND_RETL = 167.333 and GROUP_NO = '05 ' and GROUP_NAME = '
> Travel' and EST_STOCK = 0 and INTRANSIT = 2 and DATE_RUN =
> TO_DATE('27MAY2002
> 00:00:00', 'DDMONYYYY HH24:MI:SS') and ON_ORDER = 150;
>
> I am trying using sed but cant seem to work it out.
>
> Any Ideas?
>
> Regards
> Suhen
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: Jared Still
  INET: jkstill_at_cybcon.com

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).
Received on Wed May 29 2002 - 00:08:18 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US