Generalising UNIX file path


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Generalising UNIX file path
# 1  
Old 03-14-2013
Generalising UNIX file path

There's a Unix configuration file that needs to be executed at the start of my script
The location of the file is
Code:
/Dstage/AA_INTERFACES/SYSTEM_FILES/MISC/

Now the script has to be deployed into a new UAT server for testing
where the location above has been change to
Code:
/UATServ/Accp/Admin/AA_INTERFACES/SYSTEM_FILES/MISC/

The problem is if I hard code the file location in my script,
the script is usre to abort when migrated onto the new UAT server
BECAUSE in the UAT server , it wouldn't be able to find the location
Code:
/Dstage/AA_INTERFACES/SYSTEM_FILES/MISC/

What I was looking for is :
Both these paths have a portion in common,, ie.,
Code:
/AA_INTERFACES/SYSTEM_FILES/MISC/

So, isnt there any way that I can access the file
where the path of the file has
Code:
/AA_INTERFACES/SYSTEM_FILES/MISC/

in it ?
How to generalise the file path if a portion of it is always common ?

Thanks
Kumarjit.

Last edited by Scrutinizer; 03-14-2013 at 08:28 AM.. Reason: extra code tags
# 2  
Old 03-14-2013
I believe your model has problems. Yes. we can do that -

Code:
/Dstage/AA_INTERFACES/SYSTEM_FILES/MISC/
# becomes
/*/AA_INTERFACES/SYSTEM_FILES/MISC/

But this is a slower lookup than a fully specified path name
Code:
/AA_INTERFACES/SYSTEM_FILES/MISC/

Assume the filename of the above is foo.txt:

Code:
server=$(uname -a | awk '{print $2}')
if [ $server = "PROD" ] ; then
  export pathname=/Dstage
else
  export pathname=/UATserv
fi

BASE=$(cat foo.txt)
LOCATION=$pathname/$BASE


Last edited by jim mcnamara; 03-14-2013 at 09:04 AM..
This User Gave Thanks to jim mcnamara For This Post:
# 3  
Old 03-15-2013
Thanks for the quick response Jim, but
whats the use of the following line in your
code piece ??
 
BASE=$(cat foo.txt)

Thanks
Kumarjit.
# 4  
Old 03-15-2013
Maybe something like the following:
Code:
common_path=AA_INTERFACES/SYSTEM_FILES/MISC/

if [ $HOSTNAME = "kitty" ]; then
  path=/UATServ/Accp/Admin/$common_path
fi

if [ $HOSTNAME = "aardvark" ]; then
  path=/Dstage/$common_path
fi

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Convert Relative path to Absolute path, without changing directory to the file location.

Hello, I am creating a file with all the source folders included in my git branch, when i grep for the used source, i found source included as relative path instead of absolute path, how can convert relative path to absolute path without changing directory to that folder and using readlink -f ? ... (4 Replies)
Discussion started by: Sekhar419
4 Replies

2. Shell Programming and Scripting

Need help to move .csv file from UNIX path to window c: shared drive

Hi Guys, I need to move myfile.csv file from unix path(\oracle_home) to window c:\ shared drive h:\. Thanks in advance! Regards, Lakshman (1 Reply)
Discussion started by: lakshmanraok117
1 Replies

3. UNIX for Advanced & Expert Users

Need help on moving .csv file from UNIX to windows file path

Need help on moving .csv file from unix to windows file path. (1 Reply)
Discussion started by: lakshmanraok117
1 Replies

4. Shell Programming and Scripting

How to retrieve a file from specific path using unix script?

Hi i'm new to shell script, i want to get the filename from specific location which i mentioned in my script. The scirpt should read the filename exactly using the following command "ls -ltr | tail -1". Could someone show me on this. Below is my script #!/bin/ksh PATH= /usr/ if then ... (4 Replies)
Discussion started by: fresher
4 Replies

5. Shell Programming and Scripting

Retrieve directory path from full file path through sh

Hi, I have a file abcd.txt which has contents in the form of full path file names i.e. $home> vi abcd.txt /a/b/c/r1.txt /q/w/e/r2.txt /z/x/c/r3.txt Now I want to retrieve only the directory path name for each row i.e /a/b/c/ /q/w/e/ How to get the same through shell script?... (7 Replies)
Discussion started by: royzlife
7 Replies

6. UNIX for Dummies Questions & Answers

Find unix path to a file?

I know this is very newbie ... but I need help determining the proper file path to file...Have no idea how to do this I'm on a Mac OS X 10.6 Snow Leopard thanks very much (4 Replies)
Discussion started by: jmarc
4 Replies

7. UNIX for Dummies Questions & Answers

how to find complete path of a file in unix

hi experts(novice people can stay away as it is no child's game), i am developing a script which works like recycle bin of windows. the problem i am facing is that when ever i am trying to delete a file which is situated in parent directory or parent's parent directory i am unable to capture... (5 Replies)
Discussion started by: yahoo!
5 Replies

8. UNIX for Advanced & Expert Users

how to find complete path of a file in unix

hi experts(novice people can stay away as it is no child's game), i am developing a script which works like recycle bin of windows. the problem i am facing is that when ever i am trying to delete a file which is situated in parent directory or parent's parent directory i am unable to capture... (1 Reply)
Discussion started by: yahoo!
1 Replies

9. UNIX for Dummies Questions & Answers

How to get the path of a file in UNIX?

Hi Frindz, I want to get the entire path of a file. I am in root directory and i know the file name, However dont know the path where it is. Please tell me the command to get the entire path for the file? Thanks in advance, Rashmy. (14 Replies)
Discussion started by: smr_rashmy
14 Replies

10. UNIX for Dummies Questions & Answers

vi - replacing a relative path with absolute path in a file

Hi, I have a file with about 60 lines of path: app-defaults/boxXYZ....... I want to change this to /my/path/goes/here/app-defaults/boxXYZ, but of course vi doesn't like the regualr :s/old/new/ command. Is there any other quick way to do this? Thanks ;) (2 Replies)
Discussion started by: Yinzer955i
2 Replies
Login or Register to Ask a Question