Find and replace using sed


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Find and replace using sed
# 8  
Old 05-07-2014
It works as you see. If you have basic understanding of awk, It works in
/pattern/ {action} mode.

Code:
awk -v newLocation=Bangalore '                     #define awk variable newLocation
	/^location/ {$2=newLocation";"}            #look for location line and replace $2 with newLocation plus ";" at the end
	/^travelID/ {tID=$2;gsub(";$"," ",tID)}    #look for travelID line and store the $2 with tID variable, gsub is to remove the ";" from the end
	/^\}$/ {f=1}                               #look for line contains "}" and set a flag f to true
	f==1 && /^[0-9]+$/ {$0=tID $0;f=0}         #look for line immd followed by the upper criteria AND contains only numbers, prefix the file with variable tID
	/^\)$/ {$0=$0";"}                          #suffix ";" after ")"
	{print}' file > new_file #print all the lines.


Last edited by clx; 05-07-2014 at 09:53 AM..
This User Gave Thanks to clx For This Post:
# 9  
Old 05-07-2014
you are so kind Smilie

---------- Post updated 05-08-14 at 12:08 AM ---------- Previous update was 05-07-14 at 06:44 PM ----------

Hi again,
Let me guess you have great touch with C++ as well.
Sorry to bother you. I need little help in shell operations from C++ program.
Here I furnish the details of problem:
1. Lets say my current working path is myWorkingPath.
2. In my working path I have list of name directories and each name directory has two more sub directories say A/B.
(now path to B will be pathB = myWorkingPath/name/A/B)
3. I have a executable (say run) in myWorkingPath directory, that i wanted to execute from B directory.
4. From C++ program I can do shell operations like mkdir, rm etc using system("mkdir NewDir"), system("rm file") etc., (these shell operations will done form myWorkingPath)
but unable to do some shell operations from pathB. How can I communicate pathB for system() operations?

lets say I have saved this path in
Code:
pathB="/home/linuxUser/myWorkingPath/name/A/B"

. here name is a variable.

Code:
for(i=0;i<nameList.size(); i++){
    pathB="/home/linuxUser/myWorkingPath"/nameList.name(i)/"A/B";
    system("cd pathB"); // to goto that B directory
    system("../../../run"); // to run the executable
}

I know this program is wrong but, may give you clear idea what i wanted to do.

can you help me?

Regards,
linuxUser_

Last edited by Scrutinizer; 05-07-2014 at 03:55 PM.. Reason: code tags
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

sed find 2 strings and replace one

Hi Everyone, I want to find this 2 strings in a single line a file and replace the second string. this is the line i need to find <param name="user" value="CORE_BI"/> find user and CORE_BI and replace only CORE_BI with admin so finally the line should look like this. <param... (5 Replies)
Discussion started by: shajay12
5 Replies

2. Shell Programming and Scripting

Find and replace using sed

File 1,2,33,C,B 3,5,66,K,R 1,2,33,H,M 3,5,66,M,C 6,9,66,J,F I will use the below command to find and replace in sed, where I'm using variable to find pattern. while read line do sed 's/$line/77/' file done<inputfile But here I need to find value in column 3 and... (26 Replies)
Discussion started by: Roozo
26 Replies

3. Shell Programming and Scripting

Find and replace using sed command

The content of the file filea.txt is as follows. --------- case $HOSTNAME in aaa) DS_PARM_VALUE_SET=vsDev APT_Configuration_File=/appl/infoserver/Server/Configurations/2node.apt ;; bbb) DS_PARM_VALUE_SET=vsQA... (3 Replies)
Discussion started by: kmanivan82
3 Replies

4. Shell Programming and Scripting

Find and Replace with sed

Hi, I have a file such that: tart*)*98'bank'ksb64bank)(tart2d&f44bank I want to replace to: (only between tart and bank) tart*)*98'replaced'ksb64bank)(tart2d&f44replaced Thanks. (6 Replies)
Discussion started by: tara123
6 Replies

5. Shell Programming and Scripting

find and replace using SED

I need to do a find and replace. I tried below logic but getting warnings Could you please help? a=`echo "<!DOCTYPE aaaaa bbbbb \"sample.dtd\">"` b="<!DOCTYPE aaaaa bbbbb \" /a/b/c/datain/d_k/sample.dtd \">" echo $a | sed -e "s/$a/$b/" > c.txt getting the following error sed:... (1 Reply)
Discussion started by: kmanivan82
1 Replies

6. Shell Programming and Scripting

find and replace with sed

Hi, I have two files file1 :> val="10" port="localhost:8080" httpadd="http:\\192.168.0.239" file2 :> val=${val} port=${port} httpadd=${httpadd} fileloc=${fileloc} file3(or file2) should have following output(input from fileone) file3 (8 Replies)
Discussion started by: nitin.pathak
8 Replies

7. Shell Programming and Scripting

find and replace with SED

Hello all I have a file with a lot of records...Each one have a ID like this: 000000001 LDR L -----nam--2200217Ia-45e0 000000001 891 000000001 892 000000001 893 and so on then you have the second record: 000000002 LDR L -----nam--2200208Ia-15e0 000000002 891 000000002... (5 Replies)
Discussion started by: ldiaz2106
5 Replies

8. Shell Programming and Scripting

Help with find and Replace using sed

I have to update a paramater (dateMemLimit) present in a file, with a date (YYYYMMDD) equal to 5 days before the sysdate. The parameter will be in the following format. dateMemLimit = 20091201 Please note the blank spaces present between 'dateMemLimit' &'=' and between '='... (4 Replies)
Discussion started by: rajesh8s
4 Replies

9. Shell Programming and Scripting

find and replace using sed

Hello Everybody, I am doing something like this on Redhat Linux h=`cut -d"." -f4 file1` s=`cut -d"." -f4 file2` sed "s/$h/$s/g" file3 but this is not working but if giving constant value its working, for ex. sed "s/93/$h/g" file3 help... Thanks for looking into my question (2 Replies)
Discussion started by: arvind_aks15
2 Replies

10. Shell Programming and Scripting

Find a pattern and replace using sed.

Hi I need to help on finding the below pattern using sed <b><a href="/home/document.do?assetkey=x-y-abcde-1&searchclause=photo"> and replace as below in the same line on the index file. <b><a href="/abcde.html"> thx in advance. Mari (5 Replies)
Discussion started by: maridhasan
5 Replies
Login or Register to Ask a Question