Replace with sed


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Replace with sed
# 1  
Old 05-10-2011
Replace with sed

Hi,
I have values in a file at Place $1 as AmericanDollar, AustralianDollar, Singapore1Dollar and so on on various rows. I want to replace Dollar with Pound for all those records where no numeric character is present in the string. Means in above mentioned values 'Singapore1Dollar' should not be altered. Only AmericanDollar and AustralianDollar should be replaced with AmericanPound and australianPound. I tried this with sed. Command is as follows.
Code:
sed 's/[A-Za-z]*\'Dollar\'/\1\'Pound\'/g' coins4.txt coins5.txt

I'm getting error as
Code:
'sed: command garbled: s/[A-Za-z]*.\Dollar'/1'Pound'/g coins4.txt > coins5.txt'

Current contents of coins4 file are as follows.
Code:
CurrencyName WeightInAunces Year
AmericanDollar 2 1898
Australian1Dollar 3 1901
GBPound 1 1882
GermanySterling 2 1891
FrenchSterling 2 1897

Can anyone help me please.

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

Last edited by zaxxon; 05-10-2011 at 04:02 AM.. Reason: entering error message; zaxxon: code tags
# 2  
Old 05-10-2011
try this one:

Code:
sed "s/'[A-Za-z]*Dollar'/\1'Pound'/g" coins4.txt coins5.txt

# 3  
Old 05-10-2011
Thanks for reply. I tried this at my end but still getting the same error.
Code:
 sed: command garbled: s/'[A-Za-z]*Dollar'/\1'Pound'/g

# 4  
Old 05-10-2011
Can you post a sample input file and output expected? Then maybe I could come up with a sed script.

---------- Post updated at 02:18 AM ---------- Previous update was at 02:17 AM ----------

Sorry I missed to notice. you have used \1. You can only use when you are grouping the expression.

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

Try this:

Code:
 
s/\('[A-Za-z]*\)Dollar'/\1Pound'/g

# 5  
Old 05-10-2011
Try this:

Code:
echo AmericanDollar, AustralianDollar, Singapore1Dollar | sed -r "s/([a-zA-Z]Dollar)/Pound/g"

This User Gave Thanks to r4v3n For This Post:
# 6  
Old 05-10-2011
Try:
Code:
sed 's/^\([^0-9][^0-9]*\)Dollar/\1Pound/' infile

This User Gave Thanks to Scrutinizer For This Post:
# 7  
Old 05-10-2011
Should also work but a bit less restrictive (allow digit in pattern if not just preceeding the "D" of "Dollar")
Code:
sed 's/\(.*[^0-9]\)Dollar/\1Pound/' infile

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

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

sed Replace

I have a file whose output words are always like this: aaaa bbbb cccc dddd. Trying to arrange the data so that there are 2 columns such that the 1st word become the 1st column like this: aaaa aaaa aaaa bbbb aaaa cccc aaaa dddd Trying to use awk... (8 Replies)
Discussion started by: jimmyf
8 Replies

2. Shell Programming and Scripting

Sed/replace help

How can we empty or replace with null, following block of code (within the php quotes including the quotes) from inside a file. *** some other data above this code <? #317008# ... (5 Replies)
Discussion started by: fed.linuxgossip
5 Replies

3. Shell Programming and Scripting

sed replace

Hi, i have a file as give below >cat sample_file param1 val1 2012-06-19 ##there can be one or more space after 2012-06-19 in the above file i want to replace val1 with a with value passed through a variable... below is the command i tried >parval='param1 val2' >par1=param1 >sed... (3 Replies)
Discussion started by: midhun19
3 Replies

4. Shell Programming and Scripting

Help with sed replace

Hello, I have a comman separated file lets day data.txt in following format ,:000002 CH XIN9I.INDX, 34.7534909645,:000002 CH,:Index XIN9I.INDX ,:000063 CH XIN9I.INDX, 6.3062924781,:000063 CH,:Index XIN9I.INDX ,:000776 CH XIN9I.INDX, 2.7001954832,:000776 CH,:Index XIN9I.INDX I would like... (9 Replies)
Discussion started by: srattani
9 Replies

5. UNIX for Dummies Questions & Answers

SED Replace

I'm trying to change a "." in a file name with a "_" I have tried; sed -e 's/./_/g' However this then replaces the entire filename with a load of "_" For example; ls /usr/local/feed/service/customers/test1/configs/test1.httpsend | awk -F/ '{print $9}' | tr "" "" | sed -e "s/./_/g" ... (2 Replies)
Discussion started by: JayC89
2 Replies

6. Shell Programming and Scripting

How to use sed to replace the a string in the same file using sed?

How do i replace a string using sed into the same file without creating a intermediate file? (7 Replies)
Discussion started by: gomes1333
7 Replies

7. Shell Programming and Scripting

using sed to replace help

Hi, i am following content in file cat file Install Installation-path variable Now i need to replace Installation-path with some text to be provided as argument in csh script invocation My question is , can i replace this by only using path eg. sed "s/path/$1" file but it... (1 Reply)
Discussion started by: sarbjit
1 Replies

8. UNIX for Dummies Questions & Answers

sed - replace $

my script: amount1=`tail /tmp/file1.txt` amount2=`tail /tmp/file2.txt` sed -e 's/'${amount2}'/'${amount1}'/g' filename1 > filename2 what did i do wrong ? i just want to replace amount1 with amount2 value. (2 Replies)
Discussion started by: tjmannonline
2 Replies

9. Shell Programming and Scripting

Loop with sed command to replace line with sed command in it

Okay, title is kind of confusion, but basically, I have a lot of scripts on a server that I need to replace a ps command, however, the new ps command I'm trying to replace the current one with pipes to sed at one point. So now I am attempting to create another script that replaces that line. ... (1 Reply)
Discussion started by: cbo0485
1 Replies

10. Shell Programming and Scripting

How to replace using SED?

Hi, I want to change a particular string in a file with another string. This is part of a larger script file. I m using SED for this purpose: sed -e 's/hostname.domainname/${HOST}.${DOMAIN}/g' $sed_file>$tmp_file Where the occurance hostname.domainname has to be replaced with the... (4 Replies)
Discussion started by: mahatma
4 Replies
Login or Register to Ask a Question