Find and replace?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Find and replace?
# 1  
Old 06-05-2013
Find and replace?

Hi All,

I have data like below
Code:
1 CREATE TABLE temp123 
2 (
3 col1 INTEGER,
4 col2 CHAR(3) CHARACTER SET LATIN NOT CASESPECIFIC,
5 col3 DECIMAL(19,0),
6 col4 VARCHAR(80) CHARACTER SET LATIN NOT CASESPECIFIC,
7 start_dt DAte FORMAT 'YY/MM/DD',
8 end_dt DATE FORMAT 'YY/MM/DD', 
9 datecol1 date FORMAT 'YY/MM/DD',
10 change_dt TIMESTAMP(6),
11 tempdatecolumn VARCHAR(100)      
12 )

here i have to replace wherever "DATE" is coming i have to replace the entire string in that line with some other value

like start_dt DAte FORMAT 'YY/MM/DD', should be replcaed with start_dt varchar(100),

(it has to match exactly). in my case the line 7,8 & 9 should match whereas 12 should not match.

Last edited by Franklin52; 06-05-2013 at 03:06 AM.. Reason: Please use code tags
# 2  
Old 06-05-2013
This is not easy.
1. You should use code tags
2. You have DAte, DATE, date, that can be solved with [Dd][Aa][Tt][Ee]
3. Line 9 is not in same format as 7 and 8, it does not have _dt
4. 12 will not match, it contains only ) ??
# 3  
Old 06-05-2013
Could this help you ?
Code:
 
 perl -pe 's/\s+date\s+(.*)/ varchar2\(100\),/i' filename

This User Gave Thanks to pravin27 For This Post:
# 4  
Old 06-05-2013
Hi jotne,
The find and replace should start only when we encounter "DATE", as a whole. so the string before it doesnt matter, ony the string from "DATE" and after that till the end of line is what matters.
Thanks.
# 5  
Old 06-05-2013
Give example output on how it should look like when done.
This since 9 is different then 7 and 8
# 6  
Old 06-05-2013
Thanks pravin27 :-) Works like a charm Smilie

---------- Post updated at 02:03 AM ---------- Previous update was at 02:02 AM ----------

pravin27,
Is there anyway we can do it without using PERL?
# 7  
Old 06-05-2013
GNU sed does support a case insensitive search using I flag:
Code:
sed "s#date format 'yy/mm/dd'#varchar2(100)#gI" file

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Find and replace

Hi Team, one silly issue. but its not working for me. I need to find a pattern a file and replace it with the given value in another file. Here's the code snippet. Search_String=100 Replace_String=151 cat ${work}/temp_${CSV_File} | sed 's|"${Search_String}"|"${Replace_String}"|g'... (2 Replies)
Discussion started by: kmanivan82
2 Replies

2. Shell Programming and Scripting

Find and Replace

i am having a file test1.txt and its contents is as follows. <abcaaa bbb ccc ddd> <dddeeeffff> <my computer> <abcmydocuments> Now I need to find the text abc and should be replaced as follows. <abc> <dddeeeffff> <my computer> <abc> First line has the text "abc" and it has to be... (3 Replies)
Discussion started by: kmanivan82
3 Replies

3. Shell Programming and Scripting

Find/Replace

I have the following requirement in the shell script 1. I have more than 200 shell script files. I need to find out how many shell scripts have "sqlplus /" in the shell file 2. I need to replace all the shell scripts in the single command for example: connect scott/scott replace as ... (6 Replies)
Discussion started by: pmsuper
6 Replies

4. Solaris

find/replace?

Dear All To find a file, according to you, I tried as: #find / -name file-name -print To find a string inside the files , I tried as : #find / -name "*" |xargs grep "string" Can you please let me know how can I try for find/replace (i.e. finding the intended string inside the text files... (6 Replies)
Discussion started by: hadimotamedi
6 Replies

5. Shell Programming and Scripting

Find Replace

Need to convert echo "7 6" to $7,$6 But the count of numbers can increase say echo "7,6,8,9" tried this didn't work echo "7 6" | sed 's/\(*\)/\1/' But did not help much (3 Replies)
Discussion started by: dinjo_jo
3 Replies

6. UNIX for Dummies Questions & Answers

find and replace

I am looking to find and replace a string in a file, can anyone suggest a global find and replace. looked at previous replies on other queries but none seem to address what i am looking for. aint familiar with sed so trying to use ordinary unix commands if possible Thanks in advance (2 Replies)
Discussion started by: SummitElse
2 Replies

7. Shell Programming and Scripting

find and replace

hi, i have a data in a file like below: 100 8388kmn844., 8488 200 8398kmn894., 8398 i want replace from kmn to . as null. output should be 100 8388, 8488 200 8398, 8398 Plz help. Thanks in advance (1 Reply)
Discussion started by: javeed7
1 Replies

8. Shell Programming and Scripting

find and replace

Hi, There are some "n" files in a directory which contains comman string.A command to find and replace the string in all the files without looping. like if i am in a directory : # find ./ -name ".txt" | xargs sed -e 's/test/tst' Upto here is performed correctly and i want to... (4 Replies)
Discussion started by: rakshit
4 Replies

9. UNIX for Advanced & Expert Users

Please help with find and replace:

Hi I am trying to find a product code hightlighted in red, and re-insert it at another place on the same file. I shall be grateful if anyone can help me with this. Stuck and have deadline!!:confused: Original Line: (I can get source data in one of these two formats) ISD=977155185403901+DIE... (2 Replies)
Discussion started by: gloovy_tb
2 Replies

10. UNIX for Dummies Questions & Answers

find and replace

I have statement like this column_id.columnname=="value" in unix i want to modify above statement to variable1=="value" that means i have to replace the string before "==" by string "variable1" second catch is, in statement instead of "==" you can have any arithmatic comarision... (7 Replies)
Discussion started by: mahabunta
7 Replies
Login or Register to Ask a Question