Sponsored Content
Top Forums Shell Programming and Scripting removing pattern which is spread in multiple lines Post 302194221 by sabyasm on Monday 12th of May 2008 01:16:11 PM
Old 05-12-2008
Error removing pattern which is spread in multiple lines

I have several huge files wich contains oracle table creation scripts as follows:
Quote:
CREATE TABLE PROD_MST.PROD_DEF_ALLOWED_RESELLERS (
PROD_DEF_ALLOWED_RESELR_ID NUMBER NOT NULL,
SRVC_PROVIDER_ID NUMBER NOT NULL,
CREATED_BY VARCHAR2(40 BYTE) NOT NULL,
CREATED_DTIME DATE NOT NULL,
LAST_UPDATED_BY VARCHAR2(40 BYTE) NOT NULL,
LAST_UPDATED_DTIME DATE NOT NULL,
PROD_ID NUMBER NOT NULL
)
PCTFREE 10
PCTUSED 0
INITRANS 1
MAXTRANS 255

TABLESPACE CUST_MASTER_DATA
STORAGE (
INITIAL 65536
MINEXTENTS 1
MAXEXTENTS 2147483645
BUFFER_POOL DEFAULT
)
LOGGING

;


CREATE TABLE PROD_MST.PROD_DEFINITION (
PROD_ID NUMBER NOT NULL,
PROD_NAME VARCHAR2(100 BYTE) NULL,
PROD_STATUS VARCHAR2(20 BYTE) NULL,
PROD_CODE VARCHAR2(40 BYTE) NULL,
PROD_CODE_TYPE VARCHAR2(40 BYTE) NULL,
PROD_EFFECTIVE_START_DATE DATE NULL,
PROD_EFFECTIVE_END_DATE DATE NULL,
SRVC_PROVIDER_ID NUMBER NOT NULL,
CREATED_BY VARCHAR2(40 BYTE) NOT NULL,
CREATED_DTIME DATE NOT NULL,
LAST_UPDATED_BY VARCHAR2(40 BYTE) NOT NULL,
LAST_UPDATED_DTIME DATE NOT NULL
)
PCTFREE 10
PCTUSED 0
INITRANS 1
MAXTRANS 255

TABLESPACE PROD_MASTER_DATA
STORAGE (
INITIAL 65536
MINEXTENTS 1
MAXEXTENTS 2147483645
BUFFER_POOL DEFAULT
)
LOGGING

;
.....
and so on
I would need to remove the pattern colored in red above. Any sed/awk/pearl code will be of much help.

Thanks
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Can I spread commands over multiple lines?

Below an example of what I mean. The first attempt does what I want; the second doesn't, because bash assumes a line break means the end of an individual "command unix". Is there some way that I can convince bash to parse out, eg, to the closing parenthesis? I'm thinking this would allow for... (1 Reply)
Discussion started by: tphyahoo
1 Replies

2. Shell Programming and Scripting

removing lines around a matched pattern

I have an ugly conf file that has the string I'm interested in searching for in the middle of a block of code that's relevant, and I'm trying to find a way to remove that entire block based on the matched line. I've googled for this problem, and most people helping are only interested in... (9 Replies)
Discussion started by: tamale
9 Replies

3. Shell Programming and Scripting

Removing multiple lines but not the next attribute

I'm hitting a brick wall, I have huge ldif files that I'm trying to sanitize and can do it all with SED except one thing. I have a publicKey attribute in binary that can be one line or multiple lines. I'm trying to remove publicKey: and stop at sn (the next attribute). Even with word Wrap... (3 Replies)
Discussion started by: LCol
3 Replies

4. Shell Programming and Scripting

Removing all lines prior to the last pattern in a file/stream

Hi all, I didn't find anything that specifically answers this after searching for a bit, so please forgive me if this has been covered before. I'm looking to delete all lines prior to the last occurrence of a string in a file or stream from within a shell script (bash.) A bit of... (4 Replies)
Discussion started by: LivinFree
4 Replies

5. Shell Programming and Scripting

[AWK] handeling data spread on multiple lines

Hello all, first off great forum. Now for my little problem. Using RHEL 5.4 and awk. Been doing code since a few month. So just starting. My problem is handeling data on multiple lines. { if ($1 != LASTKEY && h ~ /.*\/s_fr_/) { checkgecos( h, h ) h="" ... (2 Replies)
Discussion started by: maverick72
2 Replies

6. UNIX for Dummies Questions & Answers

Removing PATTERN from txt without removing lines and general text formatting

Hi Everybody! First post! Totally noobie. I'm using the terminal to read a poorly formatted book. The text file contains, in the middle of paragraphs, hyphenation to split words that are supposed to be on multiple pages. It looks ve -- ry much like this. I was hoping to use grep -v " -- "... (5 Replies)
Discussion started by: AxeHandle
5 Replies

7. Shell Programming and Scripting

Match Pattern and print pattern and multiple lines into one line

Hello Experts , require help . See below output: File inputs ------------------------------------------ Server Host = mike id rl images allocated last updated density vimages expiration last read <------- STATUS ------->... (4 Replies)
Discussion started by: tigerhills
4 Replies

8. Shell Programming and Scripting

Removing multiple lines from input file, if multiple lines match a pattern.

GM, I have an issue at work, which requires a simple solution. But, after multiple attempts, I have not been able to hit on the code needed. I am assuming that sed, awk or even perl could do what I need. I have an application that adds extra blank page feeds, for multiple reports, when... (7 Replies)
Discussion started by: jxfish2
7 Replies

9. Shell Programming and Scripting

Removing carriage returns from multiple lines in multiple files of different number of columns

Hello Gurus, I have a multiple pipe separated files which have records going over multiple Lines. End of line separator is \n and records going over multiple lines have <CR> as separator. below is example from one file. 1|ABC DEF|100|10 2|PQ RS T|200|20 3| UVWXYZ|300|30 4| GHIJKL|400|40... (7 Replies)
Discussion started by: dJHa
7 Replies

10. UNIX for Beginners Questions & Answers

Remove newline character from column spread over multiple lines in a file

Hi, I came across one issue recently where output from one of the columns of the table from where i am creating input file has newline characters hence, record in the file is spread over multiple lines. Fields in the file are separated by pipe (|) delimiter. As header will never have newline... (4 Replies)
Discussion started by: Prathmesh
4 Replies
GAMMU-SMSD-PGSQL(7)						       Gammu						       GAMMU-SMSD-PGSQL(7)

NAME
gammu-smsd-pgsql - gammu-smsd(1) backend using PostgreSQL database server as a message storage DESCRIPTION
PGSQL backend stores all data in a PostgreSQL database server, which parameters are defined by configuration (see gammu-smsdrc for descrip- tion of configuration options). For tables description see gammu-smsd-tables. This backend is based on gammu-smsd-sql. CONFIGURATION
Before running gammu-smsd you need to create necessary tables in the database, which is described below. The configuration file then can look like: [smsd] service = sql driver = native_pgsql host = localhost See also gammu-smsdrc CREATING TABLES
SQL script for creating tables in PostgreSQL database: -- -- Database: "smsd" -- -- CREATE USER "smsd" WITH NOCREATEDB NOCREATEUSER; -- CREATE DATABASE "smsd" WITH OWNER = "smsd" ENCODING = 'UTF8'; -- connect "smsd" "smsd" -- COMMENT ON DATABASE "smsd" IS 'Gammu SMSD Database'; -- -------------------------------------------------------- -- -- Function declaration for updating timestamps -- CREATE LANGUAGE plpgsql; CREATE OR REPLACE FUNCTION update_timestamp() RETURNS trigger AS $update_timestamp$ BEGIN NEW."UpdatedInDB" := LOCALTIMESTAMP(0); RETURN NEW; END; $update_timestamp$ LANGUAGE plpgsql; -- -------------------------------------------------------- -- -- Sequence declarations for tables' primary keys -- --CREATE SEQUENCE inbox_ID_seq; --CREATE SEQUENCE outbox_ID_seq; --CREATE SEQUENCE outbox_multipart_ID_seq; --CREATE SEQUENCE pbk_groups_ID_seq; --CREATE SEQUENCE sentitems_ID_seq; -- -------------------------------------------------------- -- -- Index declarations for tables' primary keys -- --CREATE UNIQUE INDEX inbox_pkey ON inbox USING btree ("ID"); --CREATE UNIQUE INDEX outbox_pkey ON outbox USING btree ("ID"); --CREATE UNIQUE INDEX outbox_multipart_pkey ON outbox_multipart USING btree ("ID"); --CREATE UNIQUE INDEX pbk_groups_pkey ON pbk_groups USING btree ("ID"); --CREATE UNIQUE INDEX sentitems_pkey ON sentitems USING btree ("ID"); -- -------------------------------------------------------- -- -- Table structure for table "daemons" -- CREATE TABLE daemons ( "Start" text NOT NULL, "Info" text NOT NULL ); -- -- Dumping data for table "daemons" -- -- -------------------------------------------------------- -- -- Table structure for table "gammu" -- CREATE TABLE gammu ( "Version" smallint NOT NULL DEFAULT '0' ); -- -- Dumping data for table "gammu" -- INSERT INTO gammu ("Version") VALUES(13); -- -------------------------------------------------------- -- -- Table structure for table "inbox" -- CREATE TABLE inbox ( "UpdatedInDB" timestamp(0) WITHOUT time zone NOT NULL DEFAULT LOCALTIMESTAMP(0), "ReceivingDateTime" timestamp(0) WITHOUT time zone NOT NULL DEFAULT LOCALTIMESTAMP(0), "Text" text NOT NULL, "SenderNumber" varchar(20) NOT NULL DEFAULT '', "Coding" varchar(255) NOT NULL DEFAULT 'Default_No_Compression', "UDH" text NOT NULL, "SMSCNumber" varchar(20) NOT NULL DEFAULT '', "Class" integer NOT NULL DEFAULT '-1', "TextDecoded" text NOT NULL DEFAULT '', "ID" serial PRIMARY KEY, "RecipientID" text NOT NULL, "Processed" boolean NOT NULL DEFAULT 'false', CHECK ("Coding" IN ('Default_No_Compression','Unicode_No_Compression','8bit','Default_Compression','Unicode_Compression')) ); -- -- Dumping data for table "inbox" -- -- -------------------------------------------------------- -- -- Create trigger for table "inbox" -- CREATE TRIGGER update_timestamp BEFORE UPDATE ON inbox FOR EACH ROW EXECUTE PROCEDURE update_timestamp(); -- -------------------------------------------------------- -- -- Table structure for table "outbox" -- CREATE TABLE outbox ( "UpdatedInDB" timestamp(0) WITHOUT time zone NOT NULL DEFAULT LOCALTIMESTAMP(0), "InsertIntoDB" timestamp(0) WITHOUT time zone NOT NULL DEFAULT LOCALTIMESTAMP(0), "SendingDateTime" timestamp NOT NULL DEFAULT LOCALTIMESTAMP(0), "SendBefore" time NOT NULL DEFAULT '23:59:59', "SendAfter" time NOT NULL DEFAULT '00:00:00', "Text" text, "DestinationNumber" varchar(20) NOT NULL DEFAULT '', "Coding" varchar(255) NOT NULL DEFAULT 'Default_No_Compression', "UDH" text, "Class" integer DEFAULT '-1', "TextDecoded" text NOT NULL DEFAULT '', "ID" serial PRIMARY KEY, "MultiPart" boolean NOT NULL DEFAULT 'false', "RelativeValidity" integer DEFAULT '-1', "SenderID" varchar(255), "SendingTimeOut" timestamp(0) WITHOUT time zone NOT NULL DEFAULT LOCALTIMESTAMP(0), "DeliveryReport" varchar(10) DEFAULT 'default', "CreatorID" text NOT NULL, CHECK ("Coding" IN ('Default_No_Compression','Unicode_No_Compression','8bit','Default_Compression','Unicode_Compression')), CHECK ("DeliveryReport" IN ('default','yes','no')) ); CREATE INDEX outbox_date ON outbox("SendingDateTime", "SendingTimeOut"); CREATE INDEX outbox_sender ON outbox("SenderID"); -- -- Dumping data for table "outbox" -- -- -------------------------------------------------------- -- -- Create trigger for table "outbox" -- CREATE TRIGGER update_timestamp BEFORE UPDATE ON outbox FOR EACH ROW EXECUTE PROCEDURE update_timestamp(); -- -------------------------------------------------------- -- -- Table structure for table "outbox_multipart" -- CREATE TABLE outbox_multipart ( "Text" text, "Coding" varchar(255) NOT NULL DEFAULT 'Default_No_Compression', "UDH" text, "Class" integer DEFAULT '-1', "TextDecoded" text DEFAULT NULL, "ID" serial, "SequencePosition" integer NOT NULL DEFAULT '1', PRIMARY KEY ("ID", "SequencePosition"), CHECK ("Coding" IN ('Default_No_Compression','Unicode_No_Compression','8bit','Default_Compression','Unicode_Compression')) ); -- -- Dumping data for table "outbox_multipart" -- -- -------------------------------------------------------- -- -- Table structure for table "pbk" -- CREATE TABLE pbk ( "ID" serial PRIMARY KEY, "GroupID" integer NOT NULL DEFAULT '-1', "Name" text NOT NULL, "Number" text NOT NULL ); -- -- Dumping data for table "pbk" -- -- -------------------------------------------------------- -- -- Table structure for table "pbk_groups" -- CREATE TABLE pbk_groups ( "Name" text NOT NULL, "ID" serial PRIMARY KEY ); -- -- Dumping data for table "pbk_groups" -- -- -------------------------------------------------------- -- -- Table structure for table "phones" -- CREATE TABLE phones ( "ID" text NOT NULL, "UpdatedInDB" timestamp(0) WITHOUT time zone NOT NULL DEFAULT LOCALTIMESTAMP(0), "InsertIntoDB" timestamp(0) WITHOUT time zone NOT NULL DEFAULT LOCALTIMESTAMP(0), "TimeOut" timestamp(0) WITHOUT time zone NOT NULL DEFAULT LOCALTIMESTAMP(0), "Send" boolean NOT NULL DEFAULT 'no', "Receive" boolean NOT NULL DEFAULT 'no', "IMEI" varchar(35) PRIMARY KEY NOT NULL, "Client" text NOT NULL, "Battery" integer NOT NULL DEFAULT -1, "Signal" integer NOT NULL DEFAULT -1, "Sent" integer NOT NULL DEFAULT 0, "Received" integer NOT NULL DEFAULT 0 ); -- -- Dumping data for table "phones" -- -- -------------------------------------------------------- -- -- Create trigger for table "phones" -- CREATE TRIGGER update_timestamp BEFORE UPDATE ON phones FOR EACH ROW EXECUTE PROCEDURE update_timestamp(); -- -------------------------------------------------------- -- -- Table structure for table "sentitems" -- CREATE TABLE sentitems ( "UpdatedInDB" timestamp(0) WITHOUT time zone NOT NULL DEFAULT LOCALTIMESTAMP(0), "InsertIntoDB" timestamp(0) WITHOUT time zone NOT NULL DEFAULT LOCALTIMESTAMP(0), "SendingDateTime" timestamp(0) WITHOUT time zone NOT NULL DEFAULT LOCALTIMESTAMP(0), "DeliveryDateTime" timestamp(0) WITHOUT time zone NULL, "Text" text NOT NULL, "DestinationNumber" varchar(20) NOT NULL DEFAULT '', "Coding" varchar(255) NOT NULL DEFAULT 'Default_No_Compression', "UDH" text NOT NULL, "SMSCNumber" varchar(20) NOT NULL DEFAULT '', "Class" integer NOT NULL DEFAULT '-1', "TextDecoded" text NOT NULL DEFAULT '', "ID" serial, "SenderID" varchar(255) NOT NULL, "SequencePosition" integer NOT NULL DEFAULT '1', "Status" varchar(255) NOT NULL DEFAULT 'SendingOK', "StatusError" integer NOT NULL DEFAULT '-1', "TPMR" integer NOT NULL DEFAULT '-1', "RelativeValidity" integer NOT NULL DEFAULT '-1', "CreatorID" text NOT NULL, CHECK ("Status" IN ('SendingOK','SendingOKNoReport','SendingError','DeliveryOK','DeliveryFailed','DeliveryPending', 'DeliveryUnknown','Error')), CHECK ("Coding" IN ('Default_No_Compression','Unicode_No_Compression','8bit','Default_Compression','Unicode_Compression')), PRIMARY KEY ("ID", "SequencePosition") ); CREATE INDEX sentitems_date ON sentitems("DeliveryDateTime"); CREATE INDEX sentitems_tpmr ON sentitems("TPMR"); CREATE INDEX sentitems_dest ON sentitems("DestinationNumber"); CREATE INDEX sentitems_sender ON sentitems("SenderID"); -- -- Dumping data for table "sentitems" -- -- -------------------------------------------------------- -- -- Create trigger for table "sentitems" -- CREATE TRIGGER update_timestamp BEFORE UPDATE ON sentitems FOR EACH ROW EXECUTE PROCEDURE update_timestamp(); Note You can find the script in docs/sql/pgsql.sql as well. UPGRADING TABLES
The easiest way to upgrade database structure is to backup old one and start with creating new one based on example above. For upgrading existing database, you can use changes described in smsd-tables-history and then manually update Version field in gammu ta- ble. AUTHOR
Michal iha <michal@cihar.com> COPYRIGHT
2009-2012, Michal iha <michal@cihar.com> 1.31.90 February 24, 2012 GAMMU-SMSD-PGSQL(7)
All times are GMT -4. The time now is 10:52 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy