Sponsored Content
Full Discussion: String substitution
Top Forums Shell Programming and Scripting String substitution Post 302246472 by treesloth on Monday 13th of October 2008 06:34:45 PM
Old 10-13-2008
I hope I've understood what you wanted to do. Here's what I did:

1) Created a file called "values". It contains:

Code:
@oneValue@==tcp\:\/\/localhost\:1234
@twoValue@==tcp\:\/\/localhost\:4563
@threeValue@==tcp\:\/\/localhost\:7895

Note the escaped characters. I'm also assuming that you wanted a : before the 7895 on the last line.

2) Created a file called "file.xml". It contains:

Code:
<application name="aTest">
<NameValuePair>
<name>firstName</name>
<value>@oneValue@</value>
</NameValuePair>
<NameValuePair>
<name>secondName</name>
<value>@twoValue@</value>
</NameValuePair>
</application>

Third, used this tcsh foreach script:

Code:
foreach value ( `cat values` )
set val = `echo $value | awk -F"==" '{print $2}'`
set grp = `echo $value | awk -F"==" '{print $1}'`
sed -i .bak "s/$grp/$val/" file.xml
end

Now, since this uses sed -i, I strongly recommend backing up your .xml file before running this. I've never had sed -i fail me, but your mileage may vary drastically.

If your file corresponding to my values file is long and tedious to escape like I did above, you can use this to rewrite it:

Code:
cat values | sed -e 's/\//\\\//g' -e 's/:/\\:/g' >> newvalues

Strictly speaking, it's not necessary to cat the file into sed. Oh, well. Also, the -i can be used here as well, but I tend to err on the side of paranoia where sed -i and other file-overwrite ops are concerned. Lemme know if anything's unclear... my writing can be that way sometimes. :-)
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Sed String Substitution

Hi! I've the following script code with an input parameter: sed 's/oldstring/$1/g' myfile > newfile (I launch it with comman line: $ MyShell newstring) Problem: the substituion doesn't work (oldstring becomes $1, instead of newstring). How could I solve this situation? Thanks, ... (2 Replies)
Discussion started by: pciatto
2 Replies

2. Shell Programming and Scripting

String Substitution Question

When I run the script I pass in 2 expressions (ex. replace.ksh new old) I want the script to go line by line for a given file in a given directory and replace the word new with old. Of course in my line where I have the awk statement it is replacing the 2nd word with 1st instead of new with... (3 Replies)
Discussion started by: goodrics
3 Replies

3. Shell Programming and Scripting

Sed - substitution for whole string

Hello I have several files where a string similar to this appears: /home/workload/bin/ProcDly/scrpts/T54.sh > $LOG I need to change it to something like this: $VARIABLE > $LOG However, due to the configuration of the rest of the files, I should only find this string by the... (4 Replies)
Discussion started by: Scarlos
4 Replies

4. UNIX for Advanced & Expert Users

String Substitution

Hey ppl, Could u tell me how to replace such a string xyz->x with XYZ(x), where x can be any variable accessible by pointer to structure, xyz in an entire file? (1 Reply)
Discussion started by: laxmi
1 Replies

5. Shell Programming and Scripting

string substitution

Hey ppl, Could u tell me how to replace such a string xyz->x with XYZ(x), where x can be any variable accessible by pointer to structure, xyz in an entire file? (3 Replies)
Discussion started by: laxmi
3 Replies

6. Shell Programming and Scripting

substitution of string in brackets

Hi friends! I have a tab delimited file with two columns : GB_45_DRB SP:0139466(mrmi sisignm)|SP:3674(fllflg_itoioh)|SP:68954779(RMTKLGF to emmdm-roomto) GB_45_DRD SP:475928(mgmdksi rikgkg)|SP:587959(roykgl tiic-tm)|SP:0139466(mrmi sisignm)|SP:3674(fllflg_itoioh)|SP:68954779(RMTKLGF to... (4 Replies)
Discussion started by: jacks
4 Replies

7. Shell Programming and Scripting

a specific string substitution

hi guys...need some help here... i am making a a script to automatically install netbackup client...so its gonna write a configuration file according to the host name.... the line would be something like this CLIENT_NAME = odel_bkp.test.com the thing is ...the host name in reallity is... (2 Replies)
Discussion started by: razael
2 Replies

8. Shell Programming and Scripting

string substitution in perl

Hi, I have a template file and want to replace 3 parameters to the values that I want. these values are in a parameter file. Any idea how to do this in perl? the parameter file looks like: host_name = jupiter PORT = 1562 IPADDRESS = 10.1.34.10 the template file has lots of entry.... (1 Reply)
Discussion started by: melanie_pfefer
1 Replies

9. Shell Programming and Scripting

Substitution within string command

I have the following code: strfuture=abcdefghi ver=${strfuture:${count}:1} mj7777_ver=${ver} start_mj7777_iteration let count=count+1 When it is executed I get bad substitution. The same if I use ver=${strfuture:$count:1} mj7777_ver=${ver}... (6 Replies)
Discussion started by: Bruble
6 Replies

10. Programming

COBOL: Substitution in string

We have a formatted screen system where a driver program passes the locations of a list of files that called programs may be using. It will look something like this: /{number of characters varies}/DATA/MASTERFILEBecause of the size of some files we will be splitting older records into a history... (2 Replies)
Discussion started by: wbport
2 Replies
tapset::tcp(3stap)														tapset::tcp(3stap)

NAME
tapset::tcp - systemtap tcp tapset DESCRIPTION
This family of probe points is used to probe events that occur in the TCP layer, tcp.sendmsg Sending a tcp message See probe::tcp.sendmsg(3stap) for details. tcp.sendmsg.return Sending TCP message is done See probe::tcp.sendmsg.return(3stap) for details. tcp.recvmsg Receiving TCP message See probe::tcp.recvmsg(3stap) for details. tcp.recvmsg.return Receiving TCP message complete See probe::tcp.recvmsg.return(3stap) for details. tcp.disconnect TCP socket disconnection See probe::tcp.disconnect(3stap) for details. tcp.disconnect.return TCP socket disconnection complete See probe::tcp.disconnect.return(3stap) for details. tcp.setsockopt Call to setsockopt() See probe::tcp.setsockopt(3stap) for details. tcp.setsockopt.return Return from setsockopt() See probe::tcp.setsockopt.return(3stap) for details. tcp.receive Called when a TCP packet is received See probe::tcp.receive(3stap) for details. SEE ALSO
probe::tcp.sendmsg(3stap), probe::tcp.sendmsg.return(3stap), probe::tcp.recvmsg(3stap), probe::tcp.recvmsg.return(3stap), probe::tcp.disconnect(3stap), probe::tcp.disconnect.return(3stap), probe::tcp.setsockopt(3stap), probe::tcp.setsockopt.return(3stap), probe::tcp.receive(3stap), stap(1), stapprobes(3stap) IBM
--- tapset::tcp(3stap)
All times are GMT -4. The time now is 05:56 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy