find and replace a path with sed?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting find and replace a path with sed?
# 1  
Old 08-27-2012
find and replace a path with sed?

Hi,

I am attempting to find the path /subject/grin* and replace it with /subject/$i
My attempt:
Code:
for i in $(ls)
do
sed -e 's:"/subjects/grin.*":"/subjects/$i.*":g'

and several variants with no luck. Please help. Thanks!

Last edited by Franklin52; 08-27-2012 at 04:38 AM.. Reason: Please use code tags for data and code samples
# 2  
Old 08-27-2012
Code:
sed  's/\/subject\/grin\*/\/subjects\/$i/g'

This User Gave Thanks to pamu For This Post:
# 3  
Old 08-27-2012
Code:
for i in $(ls)

Using ls is superfluous, this is sufficient:
Code:
for i in *

This User Gave Thanks to Franklin52 For This Post:
# 4  
Old 08-27-2012
Thank you so much for responding. One problem, though. It is reading $i as characters and not a variable.....
# 5  
Old 08-27-2012
Code:
sed  's/\/subject\/grin\*/\/subjects\/"'$i'"/g'

try this code ....:-)
# 6  
Old 08-27-2012
Pls explain a bit more. sed needs an input stream which it does not see if used in your example's for loop; it's reading stdin instead. So sth. like ls|sed... could work on a directory, but then, what variable (i) do you want to use? I guess you need two loops on two different directories, one producing the input stream and the other the variables to replace certain parts of that stream?!
# 7  
Old 08-27-2012
Hi RudiC,

the ls is actually a list of subject names that are being replaced within a parameter file that another application is dependent on. As the app processes a particular subject, the previous info is being replaced with new subject info via sed. Here is what I have, including what pamu recommended - which isn't working.

Code:
for i in $(cat list.txt)


do
sed -e 's/\/subjects\/grin\*/\/subjects\/"'i'"/g' -e "s/DDG_FL/"$i"_DDG_FL/g" -e "s/grin.*_BET_MPRAGEMoCo/"$i"_BET_MPRAGEMoCo/g" -e "s/grin.*_DDG_MC/"$i"_DDG_MC/g" L1_DDG.fsf > "$i"_DDG.fsf

feat "$i"_DDG.fsf


done

---------- Post updated at 03:00 PM ---------- Previous update was at 02:08 PM ----------

Code:
sed -e 's/\/subjects\/grin.../*\/subjects\/'$i'/g'

works......... thanks all ...

Last edited by JC_1; 08-27-2012 at 07:35 PM.. Reason: please use code tags especially when posting complex code
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Find and replace the path value in files, pattern is not full known.

Hi, I need to do find and replace, but the pattern is not full known. for example, my file has /proj/app-d1/sun or /data/site-d1/conf here app-d1 and site-d1 is not constant. It may be different in different files. common part is /proj/xx/sun and /data/xxx/conf i want to find where ever... (6 Replies)
Discussion started by: rbalaj16
6 Replies

2. Shell Programming and Scripting

Find and replace using sed

Hi All, I have a file as shown below: myFile.dat #---------------------------------------------------------- dataFile { Name shiva; location Delhi; travelID IDNumber; } 4 ( 560065 700007 100001 200002 )... (8 Replies)
Discussion started by: linuxUser_
8 Replies

3. 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

4. Shell Programming and Scripting

Find and Replace Path in UNIX

Hi All, How can i find and replace the one path to another path with in the file. For Example: Search_path=/search/path replace_path=/replace/path I used the following command but not usefull, please help me regarding the same. sed 's_/search/path_/replace/path_' file_name >... (6 Replies)
Discussion started by: nsyed.dw
6 Replies

5. Emergency UNIX and Linux Support

Find, replace, file path in multiple files for Solaris 10

Guys I have a big issue that I need to get fixed ASAP however I can not seem to find a way to do it. We started to use zones with Solaris 10 at work and we moved a zone from a SIT box to a DEV box. Problem is the software we have installed is looking at a /lcl/sit/apps/ path and it needs to look... (5 Replies)
Discussion started by: LRoberts
5 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

Find and replace string from file which contains variable and path - SH

e.g. /home/$USER/.config replace it with "" (empty) Is this possible? I think you should play a bit with sharps ## and sed:b: (2 Replies)
Discussion started by: hakermania
2 Replies

9. 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

10. Shell Programming and Scripting

Replace a filename with full path using sed

hi, i need to replace a line a file with a new raw device location.. original file.. /opt/sybase/ASE1502/ASE-15_0/bin/dataserver \ -d/data/TST_AKS1/sybdevices/master.dat \ -e/logs/sybase/TST_AKS1/SFO_TST_AKS1.log \ -c/apps/sybase/ASE1502/ASE-15_0/TST_AKS1.cfg \... (2 Replies)
Discussion started by: aksaravanan
2 Replies
Login or Register to Ask a Question