05-30-2008
Thanks Franklin ,
I think you meant this when you wrote first .
awk '/^GRANT/ && !/DIM_PROVIDER/{sub("DIM_PROVIDER","VW_DIM_PROVIDER")}1' dim_provider.sql > newfile
It works absolutely fine if I use only dim_provider file . But I am having issues with the larger code in which I pass the table name as $TN and the schemaname is ${target_schema} .
Can I substitute these parameters something like this ???
awk '/^GRANT/ && !/$TN/{sub(${target_schema}.,${target_schema}."VW_")}1' ${target_schema}.$TN.${ecmdate}.sql > $tmpfile_cln
but code is not working .When I run it as sh -x <script name> <dbname > <source schema > <target schema >
awk /^GRANT/ && !/$TN/{sub(${target_schema}.,${target_schema}."VW_")}1 OPSDM002.fact_physician.20080530.sql
+ 1> /tmp/tmpfile_cln
syntax error The source line is 1.
The error context is
/^GRANT/ && >>> !/$TN/{sub(${ <<<
awk: The statement cannot be correctly parsed.
The source line is 1.
awk: Quitting
The source line is 1.
Help please !
Thanks
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
There is a requirement that i need to replaced a pattern by another pattern in all the files in my entire file system. there are 1000s of file in the system. let the pattern is "calcuta". i have to replace this pattern by "kolkata" in all those files which contain "calcuta".
I am only able to... (12 Replies)
Discussion started by: palash2k
12 Replies
2. Shell Programming and Scripting
Hi,
I have file 1.txt with following entries as shown:
0152364|134444|10.20.30.40|015236433
0233654|122555|10.20.30.50|023365433
**
**
**
In file 2.txt I have the following entries as shown:
0152364|134444|10.20.30.40|015236433
0233654|122555|10.20.30.50|023365433... (4 Replies)
Discussion started by: imas
4 Replies
3. Shell Programming and Scripting
Hi all,
I'm looking for some help. I have a file (very long) that is organized like below:
>Cluster 0
0 283nt, >01_FRYJ6ZM12HMXZS... at +/99%
1 279nt, >01_FRYJ6ZM12HN12A... at +/99%
2 281nt, >01_FRYJ6ZM12HM4TS... at +/99%
3 283nt, >01_FRYJ6ZM12HM946... at +/99%
4 279nt,... (4 Replies)
Discussion started by: d.chauliac
4 Replies
4. UNIX for Dummies Questions & Answers
Hi I'm a newbie in unix and I'm having trouble in creating a script. I want to search for a pattern '_good' and insert new lines that contains '_bad', '_med', '_fail' while also ensure that the line contains _good is removed
here some of the data
UPDATE SCHOOL SET GRADE =... (1 Reply)
Discussion started by: sexyTrojan
1 Replies
5. Shell Programming and Scripting
Hi
I am having a code snippet
grant permission to all user
sts|ln|uSe|PSG
sajncht|se|Use|PPSPSG
psg|ln|use|TSPSG
sts_user.Me revoke
I need to change all occurance of use (uSe,Use,use) with USE. I am using the following sed command for this
sed 's//USE/g' s_sample.txt
Output: (7 Replies)
Discussion started by: sudeep.id
7 Replies
6. Shell Programming and Scripting
'Hi
I'm using the following code to extract the lines(and redirect them to a txt file) after the pattern match. But the output is inclusive of the line with pattern match.
Which option is to be used to exclude the line containing the pattern?
sed -n '/Conn.*User/,$p' > consumers.txt (11 Replies)
Discussion started by: essem
11 Replies
7. Shell Programming and Scripting
The sample file:
dept1: user1,user2,user3
dept2: user4,user5,user6
dept3: user7,user8,user9
I want to match by '/^dept2.*/' but don't want to have substring 'dept2:' in output. How to compose such regex? (8 Replies)
Discussion started by: urello
8 Replies
8. Shell Programming and Scripting
Hello Everybody,
I need a help in the below pattern matching and replacement issue
I have a file : emp.txt
21356 suresh 12/12/2012
23511 ramesh 11/06/2011
31456 biswajit 09/08/2013
53134 archan 06/02/2009
first field:- employee id, 2nd field is name and third field is date of joining
... (10 Replies)
Discussion started by: shellscripting
10 Replies
9. Shell Programming and Scripting
Hi Techies,
I need a help in finding junk characters and remove them from a Datafile.
we have a file and it had crores of records like below
SGSN_MCC_MNC=01150
but sometime due to the issue with sending server we are getting some junk characters in the middle of data like below
... (6 Replies)
Discussion started by: mahi_mayu069
6 Replies
10. UNIX for Dummies Questions & Answers
Hi all!
Thanks for taking the time to view this!
I want to grep out all lines of a file that starts with pattern 1 but also does not match with the second pattern.
Example:
Drink a soda
Eat a banana
Eat multiple bananas
Drink an apple juice
Eat an apple
Eat multiple apples
I... (8 Replies)
Discussion started by: demmel
8 Replies
LEARN ABOUT DEBIAN
sql::translator::diff
SQL::Translator::Diff(3pm) User Contributed Perl Documentation SQL::Translator::Diff(3pm)
NAME
SQL::Translator::Diff - determine differences between two schemas
DESCRIPTION
Takes two input SQL::Translator::Schemas (or SQL files) and produces ALTER statments to make them the same
SNYOPSIS
Simplest usage:
use SQL::Translator::Diff;
my $sql = SQL::Translator::Diff::schema_diff($source_schema, 'MySQL', $target_schema, 'MySQL', $options_hash)
OO usage:
use SQL::Translator::Diff;
my $diff = SQL::Translator::Diff->new({
output_db => 'MySQL',
source_schema => $source_schema,
target_schema => $target_schema,
%$options_hash,
})->compute_differences->produce_diff_sql;
OPTIONS
ignore_index_names
Match indexes based on types and fields, ignoring name.
ignore_constraint_names
Match constrains based on types, fields and tables, ignoring name.
output_db
Which producer to use to produce the output.
case_insensitive
Ignore case of table, field, index and constraint names when comparing
no_batch_alters
Produce each alter as a distinct "ALTER TABLE" statement even if the producer supports the ability to do all alters for a table as one
statement.
ignore_missing_methods
If the diff would need a method that is missing from the producer, just emit a comment showing the method is missing, rather than
dieing with an error
PRODUCER FUNCTIONS
The following producer functions should be implemented for completeness. If any of them are needed for a given diff, but not found, an
error will be thrown.
o "alter_create_constraint($con)"
o "alter_drop_constraint($con)"
o "alter_create_index($idx)"
o "alter_drop_index($idx)"
o "add_field($fld)"
o "alter_field($old_fld, $new_fld)"
o "rename_field($old_fld, $new_fld)"
o "drop_field($fld)"
o "alter_table($table)"
o "drop_table($table)"
o "rename_table($old_table, $new_table)" (optional)
o "batch_alter_table($table, $hash)" (optional)
If the producer supports "batch_alter_table", it will be called with the table to alter and a hash, the keys of which will be the
method names listed above; values will be arrays of fields or constraints to operate on. In the case of the field functions that take
two arguments this will appear as a hash.
I.e. the hash might look something like the following:
{
alter_create_constraint => [ $constraint1, $constraint2 ],
add_field => [ $field ],
alter_field => [ [$old_field, $new_field] ]
}
o "preprocess_schema($class, $schema)" (optional)
"preprocess_schema" is called by the Diff code to allow the producer to normalize any data it needs to first. For example, the MySQL
producer uses this method to ensure that FK contraint names are unique.
Basicaly any changes that need to be made to produce the SQL file for the schema should be done here, so that a diff between a parsed
SQL file and (say) a parsed DBIx::Class::Schema object will be sane.
(As an aside, DBIx::Class, for instance, uses the presence of a "preprocess_schema" function on the producer to know that it can diff
between the previous SQL file and its own internal representation. Without this method on th producer it will diff the two SQL files
which is slower, but known to work better on old-style producers.)
AUTHOR
Original Author(s) unknown.
Refactor/re-write and more comprehensive tests by Ash Berlin "ash@cpan.org".
Redevelopment sponsored by Takkle Inc.
perl v5.14.2 2012-05-01 SQL::Translator::Diff(3pm)