Sponsored Content
Full Discussion: Shell Scripting
Top Forums Shell Programming and Scripting Shell Scripting Post 302573275 by vivek d r on Tuesday 15th of November 2011 01:33:20 AM
Old 11-15-2011
thanks for the info i went thorugh the site which you have mentioned. but they have specified only softwares to find differences. i already have a software called mysql testbench which finds me the difference in mysql dumps.. let me explain the problem i am dealing with consider there are two myssql dumps.. that is .sql(which can be compared to a txt file). out of these two .sql files one is dump of latest database and one is old database. for eg here is the format of the files

Code:
Latest mysql dump in file1.sql 
-- MySQL dump 10.13 Distrib 5.1.44, for unknown-linux-gnu (x86_64)
--
-- Host: localhost Database: release_c
-- ------------------------------------------------------
-- Server version 5.1.44-enterprise-commercial-pro-log
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
 
--
-- Table structure for table `Blahblahblah`
--
use dabbDB;
DROP TABLE IF EXISTS `Blahblahblah`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `Blahblahblah` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`action` enum('Change','Delete','Add','Locked','Unlocked') COLLATE utf8_unicode_ci DEFAULT 'Change',
`date` datetime DEFAULT NULL,

`reserved1` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`reserved2` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`zoneId` int(11) DEFAULT NULL,
) ENGINE=InnoDB AUTO_INCREMENT=2000 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
.
.
.
.
etc etc
--------------------------------------------------------------------------

OLD mysql dump in file2.sql
Code:
-- MySQL dump 10.13 Distrib 5.1.44, for unknown-linux-gnu (x86_64)
--
-- Host: localhost Database: release_c
-- ------------------------------------------------------
-- Server version 5.1.44-enterprise-commercial-pro-log
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
--
-- Table structure for table `Blahblahblah`
--
use dabbDB;
DROP TABLE IF EXISTS `Blahblahblah`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `Blahblahblah` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`action` enum('Change','Delete','Add','Locked','Unlocked') COLLATE utf8_unicode_ci DEFAULT 'Change',
`date` datetime DEFAULT NULL,
) ENGINE=InnoDB AUTO_INCREMENT=2000 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
.
.
.
.etc etc

=====================================
obeserve that in old mysql dump file column names such as reserved1 reserved2 are missing.. what i want to do is found out these differences and list them out and if its missing go to a function called alter_query() where it inserts this one more coulmn to the database or may be write the query to a third file which we could use to run to manually.... or if one column name is missing in new database dump but present in old then this column must be deleted hence it goes to delete_query()function.. i know it will involve lot of loops and string comparison .. i dont know how to kick start.. i just somehow comeup with freading a file and printing them.. so have to start from scratch...
Code:
#!/bin/sh
echo enter file name
read fname
exec<$fname
value=0
while read line
do
#     value=`expr $value + 1`;
#    the abovel ine gives the number of line in the file
echo "$line"

done
#       echo "$value";

Moderator's Comments:
Mod Comment Video tutorial on how to use code tags in The UNIX and Linux Forums.


---------- Post updated 15-11-11 at 12:03 PM ---------- Previous update was 14-11-11 at 12:03 PM ----------

there is a command as
Code:
 
diff filename1.sql filename2.sql > output_diff_file.sql

this above code will just show differences inthe files. i need differences with respect to their tables SmilieSmilieSmilieSmilieSmilieSmilieSmilieSmilieSmilieSmilie

Last edited by vbe; 11-14-2011 at 05:33 AM.. Reason: code tags next time!
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

difference between AIX shell scripting and Unix shell scripting.

please give the difference between AIX shell scripting and Unix shell scripting. (2 Replies)
Discussion started by: haroonec
2 Replies

2. Shell Programming and Scripting

Call Shell scripting from Perl Scripting.

Hi How to call a shell scripting through a Perl scripting? Actually I need some value from Shell scripting and passes in the Perl scripting. So how can i do this? (2 Replies)
Discussion started by: anupdas
2 Replies

3. What is on Your Mind?

Shell scripting vs Perl scripting

Hi all, I would like to start developping some good scripting skills. Do you think it would be best to start with shell scripting or Perl? I already got a fundation, really basics, in perl. but I am wondering what would be best to be good at first. Can you please help me determine which one to... (14 Replies)
Discussion started by: Pouchie1
14 Replies

4. Android

Android Scripting Environment: Shell Scripting and Android

I just upgraded to Android 2.2 from 2.1. The GPS issue that was troublesome in 2.1 seems to have been fixed. Some of web browsing seems faster, but it could just be my connection is better today ;) Flash works in some browsers but not very good and it is too slow for Flash apps designed for... (0 Replies)
Discussion started by: Neo
0 Replies

5. What is on Your Mind?

Shell Scripting vs Perl scripting

Gents, I have been working in a Solaris/Unix environment for about 9 months. I took some linux classses online before getting the job. But, I am not very good at scripting. I want to learn how to script. Do you think that I should start with Shell scripting or Perl? I wanted to continue with... (2 Replies)
Discussion started by: Pouchie1
2 Replies

6. Web Development

Perl scripting or shell scripting?

i am going to study any one of the scripting languages mentioned above(shell 0r perl scripting) . Which is having more scope for a fresher? (1 Reply)
Discussion started by: Anna Hussie
1 Replies

7. UNIX for Dummies Questions & Answers

Shell Scripting

Hey I have a data in the file named as outputFile.txt. The data is in the format 123456,12345678912345,400,09/09/09,INACTIVE. I want this output without commas ie 12345612345678912345400090909INACTIVE. Please tell me what to do and clear explain all the terms, as I am new to it. (6 Replies)
Discussion started by: sampandey31
6 Replies

8. Shell Programming and Scripting

Shell scripting

Hi, if in a network there are lots of PCs connected with either windows or linux as operating system.Then what will be the shell script for the same and also if the PC has linux in it then we have to find if it is occupied or unoccupied. If the PC has windows in it then we have to find if it is... (6 Replies)
Discussion started by: akansha singh
6 Replies

9. Shell Programming and Scripting

help me in Shell Scripting

Hi there please have a look at the code..i want to create Using a named pipe. Run a find in the background starting in the working directory While this is happening wait for input from the user to ask him which file to find. If the user does not enter any data in 10 seconds ask the user again.... (1 Reply)
Discussion started by: kattak1511
1 Replies

10. UNIX for Dummies Questions & Answers

Shell script to read lines in a text file and filter user data Shell Programming and Scripting

sxsaaas (3 Replies)
Discussion started by: VikrantD
3 Replies
All times are GMT -4. The time now is 11:59 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy