Sponsored Content
Top Forums Shell Programming and Scripting Extracting few lines from a file based on identifiers dynamically Post 302576246 by MR.bean on Thursday 24th of November 2011 05:00:37 AM
Old 11-24-2011
Okay, I've coded a perl version similar to your java version after looking at your code more precisely. I am leaving that file operation aside first.

Code:
#!/usr/bin/perl

while(<>) {
        if(/^\s*CREATE TABLE/i) {
                print "Inner Loop Begins ... \n";
                print;
                while(<>) {
                        print;
                        last if(/ENGINE=InnoDB/i);
                }
                print "Inner Loop Ends ... \n\n";
        }
}

Output
Code:
# perl parser.pl < mysqldump.sql

Inner Loop Begins ...
CREATE TABLE `Table11` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`entityName` enum('Lines','EndUsers') COLLATE utf8_unicode_ci NOT NULL,
`parentAllianceMigrationProjectId` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2000 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
Inner Loop Ends ...

Inner Loop Begins ...
CREATE TABLE `Table22` (
`empNo` int(13) NOT NULL AUTO_INCREMENT,
`channels` enum('one','two','three') COLLATE utf8_unicode_ci NOT NULL,
) ENGINE=InnoDB AUTO_INCREMENT=2000 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
Inner Loop Ends ...

Inner Loop Begins ...
CREATE TABLE `Table33` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`allianceId` int(11) NOT NULL,
`migratedAt` datetime DEFAULT NULL,
`migrationDetail` text COLLATE utf8_unicode_ci,
`unigyId` int(11) DEFAULT NULL,
) ENGINE=InnoDB AUTO_INCREMENT=2000 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
Inner Loop Ends ...

This User Gave Thanks to MR.bean For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Extracting lines in file based on time

Hi, anyone has any ideas on how do we extract lines from a file with format similiar to this: (based on current time) Jun 18 00:16:50 .......... ............. ............ Jun 18 00:17:59 .......... ............. ............ Jun 18 01:17:20 .......... ............. ............ Jun 18... (5 Replies)
Discussion started by: faelric
5 Replies

2. Shell Programming and Scripting

Extracting specific lines of data from a file and related lines of data based on a grep value range?

Hi, I have one file, say file 1, that has data like below where 19900107 is the date, 19900107 12 144 129 0.7380047 19900108 12 168 129 0.3149017 19900109 12 192 129 3.2766666E-02 ... (3 Replies)
Discussion started by: Wynner
3 Replies

3. Shell Programming and Scripting

Extracting lines based on identifiers into multiple files respectively

consider the following is the contents of the file cat 11.sql drop procedure if exists hoop1 ; Delimiter $$ CREATE PROCEDURE hoop1(id int) BEGIN END $$ Delimiter ; . . . . drop procedure if exists hoop2; Delimiter $$ CREATE PROCEDURE hoop2(id int) BEGIN END $$ (8 Replies)
Discussion started by: vivek d r
8 Replies

4. Shell Programming and Scripting

extracting lines based on condition and copy to another file

hi i have an input file that contains some thing like this aaa acc aa abc1 1232 aaa abc2.... poo awq aa abc1 aaa aaa abc2 bbb bcc bb abc1 3214 bbb abc3.... bab bbc bz abc1 3214 bbb abc3.... vvv ssa as abc1 o09 aaa abc4.... azx aaq aa abc1 900 aqq abc19.... aaa aa aaaa abc1 899 aa... (8 Replies)
Discussion started by: anurupa777
8 Replies

5. UNIX for Dummies Questions & Answers

Extracting lines from a text file based on another text file with line numbers

Hi, I am trying to extract lines from a text file given a text file containing line numbers to be extracted from the first file. How do I go about doing this? Thanks! (1 Reply)
Discussion started by: evelibertine
1 Replies

6. Shell Programming and Scripting

Remove part of a file based on identifiers

here below is a part of the file cat fileName.txt NAME=APP-VA-va_mediaservices-113009-VA_MS_MEDIA_SERVER_NOT_PRESENT-S FIXED=false DATE= 2013-02-19 03:46:04.4 PRIORITY=HIGH RESOURCE NAME=ccm113 NAME=APP-DS-ds_ha-140020-databaseReplicationFailure-S FIXED=false DATE= 2013-02-19... (4 Replies)
Discussion started by: vivek d r
4 Replies

7. UNIX for Dummies Questions & Answers

Dynamically accept search pattern and display lines based on it

I have a output file which contains n number of document.Each document has n number of segments and identified using below points The starting segment is ISA and Ending segment is IEA Each document has unique number and it will be passed in REF*D9 segment Each line in sample file is called... (3 Replies)
Discussion started by: nsuresh316
3 Replies

8. Shell Programming and Scripting

Grep a part of file based on string identifiers

consider below file contents cat myOutputFIle.txt 8 CCM-HQE-ResourceHealthCheck: Resource List : No RED/UNKNOWN resource Health entries found ---------------------------------------------------------- 9 CCM-TraderLogin-Status: Number of logins: 0... (4 Replies)
Discussion started by: vivek d r
4 Replies

9. Shell Programming and Scripting

Extracting lines from text files in folder based on the numbers in another file

Hello, I have a file ff.txt that looks as follows *ABNA.txt 356 24 36 112 *AC24.txt 457 458 321 2 ABNA.txt and AC24.txt are the files in the folder named foo1. Based on the numbers in the ff.txt file, I want to extract the lines from the corresponding files in the foo1 folder and... (2 Replies)
Discussion started by: mohamad
2 Replies

10. Shell Programming and Scripting

Extracting words and lines based on keywords

Hello! I'm trying to process a text file and am stuck at 2 extractions. Hoping someone can help me here: 1. Given a line in a text file and given a keyword, how can I extract the word preceeding the keyword using a shell command/script? For example: Given a keyword "world" in the line: ... (2 Replies)
Discussion started by: seemad
2 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 11:15 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy