Replacement with sed


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Replacement with sed
# 1  
Old 10-20-2010
Replacement with sed

I am trying to replace the line which has string "tablespace" not case senstive....

with below simple script: mysrcipt.sh

Code:
sed "s/[Tt][Aa][Bb][Ll][Ee][Ss][Pp][Aa][Cc][Ee].*/TABLESPACE USERS/g" create_table > tmp
mv tmp create_table

Is there any better way to do it? If Search string tooooooo long it will be tough to code in above script?

Moderator's Comments:
Mod Comment Use [code] and [/code] when posting code, data or logs to preserve formatting and enhance readability, thanks.

Last edited by zaxxon; 10-20-2010 at 02:48 AM.. Reason: changing subject
# 2  
Old 10-20-2010
GNU sed can do this:
Code:
echo "TaBlE SpAcE"| sed 's/table space/Table Space/ig'
Table Space

The "i" stands for "ignore case".

GNU awk can do this:
Code:
echo "TaBlE SpAcE"| awk '{IGNORECASE=1; sub(/table space/,"Table Space"); print }'
Table Space


Last edited by zaxxon; 10-20-2010 at 03:22 AM.. Reason: added awk
This User Gave Thanks to zaxxon For This Post:
# 3  
Old 10-20-2010
if GNU versions not available,

Code:
echo 'TableSpace some text' | perl -pe 's/tablespace.*/TABLESPACE USERS/i'



---------- Post updated at 12:01 PM ---------- Previous update was at 11:56 AM ----------

BTW, You can at least reduce the number of opening and closing brackets in your solution.

Code:
echo 'TableSpace sometext' | sed 's/[TtAaBbLlEeSsPpAaCcee].*/TABLESPACE USERS/g'

Though, I am not sure this'd work always?

---------- Post updated at 12:19 PM ---------- Previous update was at 12:01 PM ----------

No, I think that wont work. please ignore that later part.
This User Gave Thanks to clx For This Post:
# 4  
Old 10-20-2010
Code:
$ ruby -pne '$_.gsub!(/tablespace/i,"TABLESPACE")' file

This User Gave Thanks to kurumi For This Post:
# 5  
Old 10-20-2010
Or the rather quaint
Code:
$ echo "TaBlESpAcEpepperdepep"| sed 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/;s/tablespace.*/TABLESPACE USERS/'
TABLESPACE USERS

This User Gave Thanks to Scrutinizer For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

sed text replacement

Hello, I'm using Bash and Sed to replace text within a text file (1.txt) twice in one script. Using a for loop I'm initially replacing any 'apple' words with the variable 'word1' ("leg). I'm then using another for loop to replace any 'apple' words with the variable 'word2' ("arm"). This task is... (2 Replies)
Discussion started by: Flip-Flop
2 Replies

2. Shell Programming and Scripting

sed replacement error

Hi ,"environment":"accent-release","build":"ac-1112_c_Alph_Nop-release_rele-1112_c_Alph_Nop-release_rele","tags":"" above is the config file, where in i want to replace value after build inside the double quotes... that value i'll be passing as parameter for example if m passing ... (1 Reply)
Discussion started by: nikhil jain
1 Replies

3. Shell Programming and Scripting

SED replacement of placeholders

Hi All, I am facing a problem while using SED in Linux. I have a property file which contains a string local.mds.dir=${basedir}/deployCompositesIt has be to replaced with another string, and value of that string should be initialized at runtime. So I use placeholder there. My substituted... (2 Replies)
Discussion started by: bhaskar_m
2 Replies

4. Shell Programming and Scripting

SED replacement

Hi, i have a file with lines, file.txt ------- test is fun testing is better I need to replace 'test' to 'develop' and i used, a=test b=develop sed "s,$a,$b,g" -------- but i see the word 'testing' is also replaced. Need some solution. Is there any way i could replace only 'test' ? (4 Replies)
Discussion started by: giri_luck
4 Replies

5. Shell Programming and Scripting

Help with sed replacement

This seems like it should be an easy problem, but I'm a noob and I can't figure it out. I'm trying to use sed, but would be happy to use anything that does the job. I am trying to trim off a fixed number of unknown characters from 2 different : delimited fields while keeping the intervening... (4 Replies)
Discussion started by: helix_w
4 Replies

6. Shell Programming and Scripting

String replacement using sed

I need to search and replace a particular string in a file. Only the exact match of the string should be replaced. eg: File contents : abc abcd abcdef --> Replace only 'abc' with 'xyz', but it should not replace abcd with xyzd. So the o/p should be: xyz abcd abcdef. How can this be done? I... (5 Replies)
Discussion started by: sngk
5 Replies

7. Shell Programming and Scripting

sed replacement, challenge one!!!!

Hi all, Thanks in advanced. This question really bothered me much. What i want is to replace any times of repeated 'TB' to 'T', below is example. It can be fullfil by AWK and perl, but my desire is using SED to realize it. So here means we treat TB as a whole part, which means 's/TB*/T/'... (4 Replies)
Discussion started by: summer_cherry
4 Replies

8. Shell Programming and Scripting

Need Replacement for sed

Hi Can anyone provide me the replacement of sed with xargs perl syntax for the below sed -e :a -e '/;$/!N;s/\n//; ta' -e 's/;$//' This should be without looping has to take minimal time for search (0 Replies)
Discussion started by: dbsurf
0 Replies

9. Shell Programming and Scripting

Complex sed replacement

Hi, I have a file that I would like to translate using sed. I can do some basic sed commands, but Im afraid this level is beyond me. I have this file - ...alter... .. ...65536... ... ...65536... ... ...alter... ... ...65536... etc What I would like to do is replace the first... (11 Replies)
Discussion started by: one_ring99
11 Replies

10. UNIX for Dummies Questions & Answers

Replacement using sed

Hi I have the following file that i need to run a sed command on 1<tab>running 2<tab>running 3<tab>running 4<tab>running I want to be able to replace a line i.e the second one with '2<tab>failed'. As the first number is unique that can be used to search for the relevant line (using ^2 i... (5 Replies)
Discussion started by: handak9
5 Replies
Login or Register to Ask a Question