Visit Our UNIX and Linux User Community


Sed Tricks


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Sed Tricks
# 1  
Old 10-20-2009
Sed Tricks

I have a file which containd a string "old" and I need to replace all old with "new" if and only if it is a string not part of a string like Gold or fold etc.

I tried with sed like below

Code:
echo "old gold old" | sed 's/old/new/g'

It doesn't give the desired output, It give "old Gnew new".
Can any one help me out?

Thanks,
Siba S Nayak
# 2  
Old 10-20-2009
Code:
echo "old gold old" | sed 's/\<old\>/new/g'
new gold new

Inside < and > you can define a "word" in RegExp. Have to escape them with \ though.
# 3  
Old 10-20-2009
you have to play with word boundary. check your sed man/info page for more info. alternatively, the logic to do this is to iterate each old, check for "old" and when found, change it to "new".. so in bash, you can do something like this, assuming your words are in a file
Code:
#!/bin/bash
declare -a arr
while read -a arr 
do
    for ((i=0;i<=${#arr};i++))
    do
       case "${arr[i]}" in
            old) arr[i]="new"
       esac
    done
    echo "${arr[@]}"
done < file

output
Code:
$ more file
old gold fold old
$ ./shell.sh
new gold fold new

# 4  
Old 10-20-2009
Thanks a lot Zaxxon and Ghostdog for your quick response.
 

Previous Thread | Next Thread
Test Your Knowledge in Computers #489
Difficulty: Medium
Because interpreted languages are not compiled, syntax errors do not become runtime errors.
True or False?

6 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Vim tips and tricks

Vim Tips and Tricks Save and quit :w => Save :q => Exit as long as there have been no changes :q! => Exit and ignore any changes :wq => Save and Exit. :x => Exit, saving changes ZZ => Exit and save changes if any have been made :10,20w filename => writes the... (34 Replies)
Discussion started by: ungalnanban
34 Replies

2. UNIX for Advanced & Expert Users

Basic VI tricks

I found a decent guide of VI basic tricks. This guide does expect you to have a decent understanding of VI. It does not go over very much beginner related. vi Manual (3 Replies)
Discussion started by: cokedude
3 Replies

3. Post Here to Contact Site Administrators and Moderators

Solaris tips and tricks

What do you think could we open new top topic with tips and tricks and to show to other users some tricks what do we know like dtrace , new virtual server , how to add new users etc. This is only suggestion (1 Reply)
Discussion started by: solaris_user
1 Replies

4. Shell Programming and Scripting

need couple of ksh tricks please

1) I ran myScript with 2 arguments, I meant to use 3 if I do r my, it will rerun it with the 2 arguments. is there a way I can do r my and add a third argument at the end? 2) say I did myAcript.ksh 2 5 7 8 I realise my typo. is there an easy way to redo the command replacing A with S? ... (4 Replies)
Discussion started by: JamesByars
4 Replies

5. UNIX for Dummies Questions & Answers

Set prompt, problems and tricks

I'm using a csh shell (or, that'd be my guess from the .cshrc file I see) and I'm looking to change my prompt. There are about 10 other threads, I know, but this question is a little more specific. I want to know, is there a way to list the current directory from a certain level or directory... (6 Replies)
Discussion started by: HybridLogic
6 Replies

6. UNIX for Advanced & Expert Users

tar tricks

Hello there, Is there anyway to make the tar utility print the contents of the files inside it (not list the files, but rather their contents) sequentially from the command line? What I ultimately would like to do is to have a way of printing the contents of each file in the tar archive... (2 Replies)
Discussion started by: neked
2 Replies

Featured Tech Videos