Sponsored Content
Operating Systems Linux matching pattern and replacement Post 302200985 by capri_drm on Friday 30th of May 2008 02:52:36 PM
Old 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

Pattern Replacement

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

comment/delete a particular pattern starting from second line of the matching pattern

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

counting the lines matching a pattern, in between two pattern, and generate a tab

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

awk pattern replacement

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

Sed for selective pattern replacement

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

Sed: printing lines AFTER pattern matching EXCLUDING the line containing the pattern

'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

PHP - Regex for matching string containing pattern but without pattern itself

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

Pattern Matching and replacement

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

Help with Pattern Matching and replacement in Gz files

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

Grep -v lines starting with pattern 1 and not matching pattern 2

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
GRANT(7)							   SQL Commands 							  GRANT(7)

NAME
GRANT - define access privileges SYNOPSIS
GRANT { { SELECT | INSERT | UPDATE | DELETE | RULE | REFERENCES | TRIGGER } [,...] | ALL [ PRIVILEGES ] } ON [ TABLE ] tablename [, ...] TO { username | GROUP groupname | PUBLIC } [, ...] GRANT { { CREATE | TEMPORARY | TEMP } [,...] | ALL [ PRIVILEGES ] } ON DATABASE dbname [, ...] TO { username | GROUP groupname | PUBLIC } [, ...] GRANT { EXECUTE | ALL [ PRIVILEGES ] } ON FUNCTION funcname ([type, ...]) [, ...] TO { username | GROUP groupname | PUBLIC } [, ...] GRANT { USAGE | ALL [ PRIVILEGES ] } ON LANGUAGE langname [, ...] TO { username | GROUP groupname | PUBLIC } [, ...] GRANT { { CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] } ON SCHEMA schemaname [, ...] TO { username | GROUP groupname | PUBLIC } [, ...] DESCRIPTION
The GRANT command gives specific permissions on an object (table, view, sequence, database, function, procedural language, or schema) to one or more users or groups of users. These permissions are added to those already granted, if any. The key word PUBLIC indicates that the privileges are to be granted to all users, including those that may be created later. PUBLIC may be thought of as an implicitly defined group that always includes all users. Note that any particular user will have the sum of privileges granted directly to him, privileges granted to any group he is presently a member of, and privileges granted to PUBLIC. There is no need to grant privileges to the creator of an object, as the creator has all privileges by default. (The creator could, how- ever, choose to revoke some of his own privileges for safety.) Note that the ability to grant and revoke privileges is inherent in the cre- ator and cannot be lost. The right to drop an object, or to alter it in any way not described by a grantable right, is likewise inherent in the creator, and cannot be granted or revoked. Depending on the type of object, the initial default privileges may include granting some privileges to PUBLIC. The default is no public access for tables and schemas; TEMP table creation privilege for databases; EXECUTE privilege for functions; and USAGE privilege for lan- guages. The object creator may of course revoke these privileges. (For maximum security, issue the REVOKE in the same transaction that creates the object; then there is no window in which another user may use the object.) The possible privileges are: SELECT Allows SELECT [select(7)] from any column of the specified table, view, or sequence. Also allows the use of COPY [copy(7)] TO. For sequences, this privilege also allows the use of the currval function. INSERT Allows INSERT [insert(7)] of a new row into the specified table. Also allows COPY [copy(7)] FROM. UPDATE Allows UPDATE [update(7)] of any column of the specified table. SELECT ... FOR UPDATE also requires this privilege (besides the SELECT privilege). For sequences, this privilege allows the use of the nextval and setval functions. DELETE Allows DELETE [delete(7)] of a row from the specified table. RULE Allows the creation of a rule on the table/view. (See CREATE RULE [create_rule(7)] statement.) REFERENCES To create a foreign key constraint, it is necessary to have this privilege on both the referencing and referenced tables. TRIGGER Allows the creation of a trigger on the specified table. (See CREATE TRIGGER [create_trigger(7)] statement.) CREATE For databases, allows new schemas to be created within the database. For schemas, allows new objects to be created within the schema. To rename an existing object, you must own the object and have this privilege for the containing schema. TEMPORARY TEMP Allows temporary tables to be created while using the database. EXECUTE Allows the use of the specified function and the use of any operators that are implemented on top of the function. This is the only type of privilege that is applicable to functions. (This syntax works for aggregate functions, as well.) USAGE For procedural languages, allows the use of the specified language for the creation of functions in that language. This is the only type of privilege that is applicable to procedural languages. For schemas, allows access to objects contained in the specified schema (assuming that the objects' own privilege requirements are also met). Essentially this allows the grantee to ``look up'' objects within the schema. ALL PRIVILEGES Grant all of the privileges applicable to the object at once. The PRIVILEGES key word is optional in PostgreSQL, though it is required by strict SQL. The privileges required by other commands are listed on the reference page of the respective command. NOTES
The REVOKE [revoke(7)] command is used to revoke access privileges. It should be noted that database superusers can access all objects regardless of object privilege settings. This is comparable to the rights of root in a Unix system. As with root, it's unwise to operate as a superuser except when absolutely necessary. Currently, to grant privileges in PostgreSQL to only a few columns, you must create a view having the desired columns and then grant privi- leges to that view. Use psql(1)'s dp command to obtain information about existing privileges, for example: lusitania=> dp mytable Access privileges for database "lusitania" Schema | Table | Access privileges --------+---------+--------------------------------------- public | mytable | {=r,miriam=arwdRxt,"group todos=arw"} (1 row) The entries shown by dp are interpreted thus: =xxxx -- privileges granted to PUBLIC uname=xxxx -- privileges granted to a user group gname=xxxx -- privileges granted to a group r -- SELECT ("read") w -- UPDATE ("write") a -- INSERT ("append") d -- DELETE R -- RULE x -- REFERENCES t -- TRIGGER X -- EXECUTE U -- USAGE C -- CREATE T -- TEMPORARY arwdRxt -- ALL PRIVILEGES (for tables) The above example display would be seen by user miriam after creating table mytable and doing GRANT SELECT ON mytable TO PUBLIC; GRANT SELECT,UPDATE,INSERT ON mytable TO GROUP todos; If the ``Access privileges'' column is empty for a given object, it means the object has default privileges (that is, its privileges field is NULL). Default privileges always include all privileges for the owner, and may include some privileges for PUBLIC depending on the object type, as explained above. The first GRANT or REVOKE on an object will instantiate the default privileges (producing, for example, {=,miriam=arwdRxt}) and then modify them per the specified request. EXAMPLES
Grant insert privilege to all users on table films: GRANT INSERT ON films TO PUBLIC; Grant all privileges to user manuel on view kinds: GRANT ALL PRIVILEGES ON kinds TO manuel; COMPATIBILITY
SQL92 The PRIVILEGES key word in ALL PRIVILEGES is required. SQL does not support setting the privileges on more than one table per command. The SQL92 syntax for GRANT allows setting privileges for individual columns within a table, and allows setting a privilege to grant the same privileges to others: GRANT privilege [, ...] ON object [ ( column [, ...] ) ] [, ...] TO { PUBLIC | username [, ...] } [ WITH GRANT OPTION ] SQL allows to grant the USAGE privilege on other kinds of objects: CHARACTER SET, COLLATION, TRANSLATION, DOMAIN. The TRIGGER privilege was introduced in SQL99. The RULE privilege is a PostgreSQL extension. SEE ALSO
REVOKE [revoke(7)] SQL - Language Statements 2002-11-22 GRANT(7)
All times are GMT -4. The time now is 07:32 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy