find and replace a path with sed?


Login or Register for Dates, Times and to Reply

 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting find and replace a path with sed?
# 1  
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 05:38 AM.. Reason: Please use code tags for data and code samples
# 2  
Code:
sed  's/\/subject\/grin\*/\/subjects\/$i/g'

This User Gave Thanks to pamu For This Post:
# 3  
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  
Thank you so much for responding. One problem, though. It is reading $i as characters and not a variable.....
# 5  
Code:
sed  's/\/subject\/grin\*/\/subjects\/"'$i'"/g'

try this code ....:-)
# 6  
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  
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 08:35 PM.. Reason: please use code tags especially when posting complex code
Login or Register for Dates, Times and to Reply

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #3
Difficulty: Easy
'Hello World' is a program only for advanced programmers.
True or False?

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

Featured Tech Videos