how to substitute filepaths with sed or awk?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting how to substitute filepaths with sed or awk?
# 1  
Old 07-02-2010
how to substitute filepaths with sed or awk?

I am having the following problem. I am having a lot of files (test_1_01.hea, test_1_02.hea, etc) with the content:
project_directory /net/1/d_1/5/
tmp_directory /net/1/d_1/5/
material_directory /net/1/d_1/5/

And I have to substitute the filepaths with new counted ones where the test_1_01.hea file are.

I wanted to do it with this script, but it doesn't work, because awk has problems with the '/'. Does someone has an idea.
Code:
for i in d_*
do
    cd $i/5/
    folder=`pwd |awk '{print $1}'`
    awk '{ if (NR==14) {gsub($2, $folder); print} }' test_1_01.hea
    cd ../..
done

Thanks for any suggestions, Sam.
# 2  
Old 07-02-2010
Code:
awk -v folder=$folder '{ if (NR==14) {gsub($2, folder); print} }' test_1_01.hea

See if that helps
# 3  
Old 07-02-2010
Quote:
Originally Posted by ergy1983
...
And I have to substitute the filepaths with new counted ones where the test_1_01.hea file are.
...
I don't quite understand this. But if you want to substitute the 2nd field in the file "test_1_01.hea" by the present working directory, then try this:

Code:
awk "sub(\$2,\"$PWD\")" test_1_01.hea

PWD is a Bash shell environment variable that is analogous to the pwd builtin.

tyler_durden
# 4  
Old 07-02-2010
ok, thanks. Mainly it works.

@jim mcnamara: It is substituting the old folder with the new one - but only in the output. not in the file.

@durden_tyler: Do you have also an idea how to substitute the folders only in line 14, 16, 17 and the rest is also printed into the *.hea-file?
Maybe I am having tomatoes on my eyes...

Thanks again

---------- Post updated at 09:28 AM ---------- Previous update was at 08:36 AM ----------

ok, forget about it. Works fine... Tomatoes. I am just telling you tomatoes...
Thanks a lot for your help.

Last edited by ergy1983; 07-02-2010 at 10:43 AM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Substitute a character with sed

hi all, i'd like to modify a file with sed , i want to substuite a char "-" with "/" how can i do this? Thanks for all regards Francesco (16 Replies)
Discussion started by: Francesco_IT
16 Replies

2. Shell Programming and Scripting

[sed]: Substitute a string with a multiline value

Dear all, I try to replace a string of characters in a file (MyFile.txt) by a multiline value of the variable "Myvar": $ cat MyFile.txt DESCRIPTION '@TargetTable SCHEMA' ( @InputFlowDef ); $ The content of Myvar: $ echo "$Myvar" col1 , col2 , col3 $ (4 Replies)
Discussion started by: dae
4 Replies

3. Shell Programming and Scripting

sed substitute command -- need help

I am trying to do what I thought should be a simple substitution, but I can't get it to work. File: Desire output: I thought I'd start with a sed command to remove the part of the header line preceding the string "comp", then go on to remove the suffix of the target string (e.g. ":3-509(-)"),... (3 Replies)
Discussion started by: pathunkathunk
3 Replies

4. Shell Programming and Scripting

using sed or gsub to substitute characters!

Is there a way to substitute the URL-encoding references of ( & and ` ) with their actual appearance? for example.... %26 is & say I want to convert every %26 in my file to &..... awk '{gsub(/%26/,"&");print}' Is there a way to do this? I also want to be able to convert ` too! (3 Replies)
Discussion started by: puttster
3 Replies

5. Shell Programming and Scripting

Using Perl to connect UNC Filepaths on Domain

I'm trying to use Perl on Windows (Doh!) to connect to a folder on a Domain Controller via UNC. Right now, I have perl -e "`runas /user:DOMAIN\\Username dir \\\\SERVER\\d\$\\Path`" This does not seem to connect nor does it prompt for password. Should I try throwing it into a script and... (0 Replies)
Discussion started by: adelsin
0 Replies

6. Shell Programming and Scripting

Sed question to substitute data in \2

Hi All, Here is what I'm trying to do with sed: Input File: somechangeVariable1=Something I would like to change somechangeVariable2=Something else I would like to change ... Output File: somechangeVariable1=Something I would like to different somechangeVariable2=Something else I would... (6 Replies)
Discussion started by: Peace_Dude1
6 Replies

7. UNIX for Dummies Questions & Answers

Using sed to substitute between quotes.

I'm using sed to perform a simply search and replace. The typical data is: <fig><image href="Graphics/BAV.gif" align="left" placement="break" I need to replace the value in the first set of quotes, keeping the remainder of the line the same. Thus: <fig><image href="NEW_VALUE" align="left"... (3 Replies)
Discussion started by: Steve_altius
3 Replies

8. Shell Programming and Scripting

Using sed to substitute first occurrence

I am trying to get rid of some ending tags but I run into some problems. Ex. How are you?</EndTag><Begin>It is fine.</Begin><New> Just about I am trying to get rid of the ending tags, starts with </ and ending with >. (which is </EndTag> and </Begin>) I tried the following sed... (2 Replies)
Discussion started by: quixoticking11
2 Replies

9. Shell Programming and Scripting

Using SED to substitute between two patterns.

Hi All, I'm currently using SED to make various changes to some .xml files I'm working on, but I'm stuck on this particular problem. I want to remove '<placeholder>element-name</placeholder>' from the following: <heading>Element <placeholder>element-name</placeholder> not... (2 Replies)
Discussion started by: Steve_altius
2 Replies

10. UNIX for Dummies Questions & Answers

sed substitute situation

I am having a problem executing a sed substitute in a file. I have tried alot of different things I found in previous posts, however non seem to work. I want to substitute this in $FILE: VALUE=33.4 In the script I have tried the following: prev=$(awk -F"=" '{ print $2 }' $FILE ) new=$(echo... (16 Replies)
Discussion started by: newbreed1
16 Replies
Login or Register to Ask a Question