Sponsored Content
Top Forums Shell Programming and Scripting sed string manipulation in shell script Post 302421334 by mirfan on Friday 14th of May 2010 06:38:58 AM
Old 05-14-2010
sed string manipulation in shell script

Hello,

I have 1000 of sql queries and i need to push column value in query. e.g.

Code:
SET INSERT_ID=1
INSERT INTO test (id,name) VALUES ('a');
SET INSERT_ID=2
INSERT INTO test (id,name) VALUES ('b');
SET INSERT_ID=3
INSERT INTO test (id,name) VALUES ('c');
SET INSERT_ID=4
INSERT INTO test (id,name) VALUES ('d');

I need to put id column value for those sql queries. Resultant queries should be

Code:
INSERT INTO test (id,name) VALUES (1,'a');
INSERT INTO test (id,name) VALUES (2,'b');
INSERT INTO test (id,name) VALUES (3,'c');
INSERT INTO test (id,name) VALUES (4,'d');

I wrote shell script for that

Code:
# !/bin/bassh

ID=`cat test.sql | grep INSERT_ID | awk -F"=" '{print $2}' | sed 's/\(.*\)....../\1/'`
VALUES=`cat test.sql | grep "INSERT INTO test"

for ff in $VALUES
do

        for f in $ID
        do
        sed "s/VALUES (/VALUES ($f,/" $ff > finalfile.sql
        done
done

Where ID variable contains values 1,2,3,4... and so on
and VALUES variable contains SQL queries are

Code:
INSERT INTO test (id,name) VALUES ('a');
INSERT INTO test (id,name) VALUES ('b'); and so on

I applied nested loop and finally trying to push id column values. but it errors "filename too long". Following is the command

Code:
sed "s/VALUES (/VALUES ($f,/" "$ff" > finalfile.sql

command after value substituion
Code:
sed "s/VALUES (/VALUES (1,/" "INSERT INTO test (id,name) VALUES ('a');"

"Filename too long" error occus on %ff variable value i.e. on sql qurey.

Can someone please help how to accomplish it ?


Thank you.

Last edited by Franklin52; 05-14-2010 at 07:45 AM.. Reason: Please use code tags!
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Need shell/sed script for grep+string replacement

Hi, Let me explain the situation. There are many files in a directory and its sub-directories that conatin the string pattern "pa". I want to replace all such instances with the pattern "pranavagarwal" doing a grep "pa" `ls` does give me all the instances of the occurence of that... (3 Replies)
Discussion started by: pranavagarwal
3 Replies

2. Shell Programming and Scripting

How to use sed for string manipulation

Hi, I would like to know How to use use sed for manipulating string for the following situation. Basically my objective is to check validity of the filename in my shell script. I am getting a parameter like this for my shell script. Check my folder is having some space. $1=/root/krishna... (2 Replies)
Discussion started by: hikrishn
2 Replies

3. Shell Programming and Scripting

Pattern manipulation in korn shell script using sed.

Hi, Could any one let me know, how can I cut the last field in below mentioned line. net,-hopcount,0,-netmask,255.255.255.0,,,,,192.168.37.0,10.253.0.1 net,-hopcount,0,-netmask,255.255.255.0,,,,,192.168.1.0,10.253.0.1 net,-hopcount,0,-netmask,255.255.255.0,,,,,192.168.38.0,10.253.0.1... (3 Replies)
Discussion started by: ajilesh
3 Replies

4. Shell Programming and Scripting

sed string manipulation

hi I am using sed to split a string this string is 11byteabc I would like to just get the numeric digits. echo "11byteabc" | sed 's/*// returns 11byteabc only solution that works is repeating number of times for the letters which is pointless grateful for any suggestions thanks (4 Replies)
Discussion started by: speedieB
4 Replies

5. Shell Programming and Scripting

Shell scripting string manipulation

Hi, if I have a string delimited by commas how can I put each character on a new line followed by a carriage return, and output this to a filee.g from: s,t,r,i,n,g to s t r i n g thanks you (3 Replies)
Discussion started by: Wahmed9
3 Replies

6. UNIX for Advanced & Expert Users

string manipulation in bash shell

Hi All, I am using a bash shell and want to the following thing. A process sends the following string to my script BACKUP_FAIL_REASON="Failed - Application Dump CDMACA-0:grep: /opt/nortel/ca/data/1245184/sd00/image1/S110907070708HIS... (4 Replies)
Discussion started by: Pkumar Sachin
4 Replies

7. Shell Programming and Scripting

String manipulation using ksh script

Hi, I need to convert string "(joe.smith" into "joe_smith" i.e. I need to remove the leading opening brace '(' and replace the dot '.' with an under score '_' can anyone suggest a one liner ksh script or unix command for this please (3 Replies)
Discussion started by: sdj
3 Replies

8. Shell Programming and Scripting

Manipulation with the string using sed

hello All, When I run find command on certain directory I may get one of the following output depending on configuration A. ./rel/prod/libpam.a B. ./rel/fld/libpam.a C. ./deb/detail/libpam.a D. ./deb/err/libpam.a I want to get output as below A. rel/prod B.... (2 Replies)
Discussion started by: anand.shah
2 Replies

9. Shell Programming and Scripting

Text manipulation with sed/awk in a bash script

Guys, I have a variable in a script that I want to transform to into something else Im hoping you guys can help. It doesn't have to use sed/awk but I figured these would be the simplest. DATE=20160120 I'd like to transform $DATE into "01-20-16" and move it into a new variable called... (8 Replies)
Discussion started by: dendenyc
8 Replies

10. Shell Programming and Scripting

sed for string manipulation

I have a file which contains contents like below proxy.config.cluster.mc_group_addr 224.0.1.37 proxy.config.log.logging_enabled 3 proxy.config.log.squid_log_enabled 1 Need to modify to 'proxy.config.cluster.mc_group_addr': '224.0.1.37' 'proxy.config.log.logging_enabled': '3'... (10 Replies)
Discussion started by: esham
10 Replies
EXAMPLES-WITH-PDO_4D(3) 						 1						   EXAMPLES-WITH-PDO_4D(3)

Examples with PDO_4D - Examples PDO_4D

	This basic example show how to connect, execute a query, read data and disconnect from a 4D SQL server.

       Example #1

	      Basic example with PDO_4D

	      <?php
	      $dsn = '4D:host=localhost;charset=UTF-8';
	      $user = 'test';
	      $pass = 'test';

	      // Connection to the 4D SQL server
	      $db = new PDO($dsn, $user, $pass);

	      try {
		  $db->exec('CREATE TABLE test(id varCHAR(1) NOT NULL, val VARCHAR(10))');
	      } catch (PDOException $e) {
		  die("Erreur 4D : " . $e->getMessage());
	      }

	      $db->exec("INSERT INTO test VALUES('A', 'B')");
	      $db->exec("INSERT INTO test VALUES('C', 'D')");
	      $db->exec("INSERT INTO test VALUES('E', 'F')");

	      $stmt = $db->prepare('SELECT id, val from test');

	      $stmt->execute();
	      print_r($stmt->fetchAll());

	      unset($stmt);
	      unset($db);
	      ?>

	      The above example will output:

	      Array
	      (
		  [0] => Array
		      (
			  [ID] => A
			  [0] => A
			  [VAL] => B
			  [1] => B
		      )

		  [1] => Array
		      (
			  [ID] => C
			  [0] => C
			  [VAL] => D
			  [1] => D
		      )

		  [2] => Array
		      (
			  [ID] => E
			  [0] => E
			  [VAL] => F
			  [1] => F
		      )

	      )

	This example shows how to execute a query in 4D language, and how to read the result through PDO_4D.

       Example #2

	      Accessing 4D language from pdo_4d

	       Set  up a 4D method, called method. Make sure in the method properties that the option Available via SQL is checked. The 4D code is
	      the following.

	      C_TEXTE($0)
	      $0:=Version application(*);

	       The PHP code to use the above 4D method is :

	      <?php
	      $dsn = '4D:host=localhost;charset=UTF-8';
	      $user = 'test';
	      $pass = 'test';

	      // Connection to the 4D server
	      $db = new PDO($dsn, $user, $pass);

	      $stmt = $db->prepare('SELECT {FN method() AS VARCHAR } FROM _USER_SCHEMAS LIMIT 1');

	      $stmt->execute();
	      print_r($stmt->fetchAll());

	      unset($stmt);
	      unset($db);
	      ?>

	      The above example will output:

	      (
		  [0] => Array
		      (
			  [<expression>] => F0011140
			  [0] => F0011140
		      )

	      )

       Example #3

	      Escaping 4D table names

	       This examples illustrates how to escape characters in a 4D SQL query.

	      <?php
	      $dsn = '4D:host=localhost;charset=UTF-8';
	      $user = 'test';
	      $pass = 'test';

	      // Connection to 4D server 4D
	      $db = new PDO($dsn, $user, $pass);

	      $objects = array('[',']','[]','][','[[',']]','[[[',']]]','TBL ]]32[23');

	      foreach($objects as $id => $object) {
		  $object = str_replace(']',']]', $object);
		  print "$object
";

		  $db->exec('CREATE TABLE IF NOT EXISTS ['.$object.'](['.$object.'] FLOAT)');

		  $req = "INSERT INTO [$object] ([$object]) VALUES ($id);";
		  $db->query($req);

		  $q = $db->prepare("SELECT [$object] FROM [$object]");
		  $q->execute();
		  $x[] = $q->fetch(PDO::FETCH_NUM);

		  $db->exec('DROP TABLE ['.$object.'];');
	      }

	      ?>

	      The above example will output:

	      [
	      ]]
	      []]
	      ]][
	      [[
	      ]]]]
	      [[[
	      ]]]]]]
	      TBL ]]]]32[23

PHP Documentation Group 												   EXAMPLES-WITH-PDO_4D(3)
All times are GMT -4. The time now is 07:50 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy