Extracting parts from an absolute path


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Extracting parts from an absolute path
# 1  
Old 06-15-2010
Extracting parts from an absolute path

Hi,

How can I extract parts from an absolute path?
For example :
The absolute path is /dir1/dir2/dir3/dir4/dir5.I need the relative path starting with directory given as parameter : for instance if the parameter is dir3 then the result should be dir3/dir4/dir5

I need generic solution independent of the depth of the directory structure.

Any ideas?
# 2  
Old 06-15-2010
Code:
$> PAT=dir3
$> echo /dir1/dir2/dir3/dir4/dir5|\
sed 's/.*\/\('${PAT}'\)/\1/g'
dir3/dir4/dir5

# or

$> PAT=dir3
$> echo /dir1/dir2/dir3/dir4/dir5| awk -F"i${PAT}" '{print FS $2}'
dir3/dir4/dir5

This User Gave Thanks to zaxxon For This Post:
# 3  
Old 06-15-2010
Code:
# echo "/dir1/dir2/dir3/dir4/dir5" | awk '{sub(".*\\/dir3\\/","dir3/");print}'
dir3/dir4/dir5

# 4  
Old 06-15-2010
Hi, it could be done like this:
Code:
Code:
abspath=/dir1/dir2/dir3/dir4/dir5
fromdir=dir3
echo ${abspath#${abspath%${fromdir}*}}

result:
Code:
dir3/dir4/dir5

# 5  
Old 06-15-2010
Many thanks.It works :-)
# 6  
Old 06-15-2010
A couple of options (neither fantastic, I imagine!)

Code:
$ echo $X
/dir1/dir2/dir3/dir4/dir5/dir6

$ echo $X | sed "s|[^/]*/[^/]*/[^/]*/||"
dir3/dir4/dir5/dir6

$ echo $X | cut -d/ -f4-
dir3/dir4/dir5/dir6

# 7  
Old 06-15-2010
Like this?

Code:
# a="dir1/dir2/dir3/dir4/dir5"

Code:
# echo ${a#*dir2/}
dir3/dir4/dir5

 
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

Cut the path into two parts

Hi, file=/usr/lib I need to cut and put it into two variable like string1=/usr string2=lib I made it for string2 string2=${file#/*/} How to get String1 in the same way which I have get string2. Use even more code tags ;) (4 Replies)
Discussion started by: munna_dude
4 Replies

3. UNIX for Dummies Questions & Answers

How to convert relative path to absolute path?

Hello Everyone, I want to convert Relative Path - /home/stevin/data/APP_SERVICE/../datafile.txt to Absolute Path - /home/stevin/data/datafile.txt Is there a built-in tool in Unix to do this or any good ideas as to how can I implement this. -Steve (5 Replies)
Discussion started by: qwarentine
5 Replies

4. Shell Programming and Scripting

How to change Absolute path to Relative path

Hello, I have a doubt:- --------------------- Current script:- ################################################################################################ prefix=user@my-server: find . -depth -type d -name .git -printf '%h\0' | while read -d "" path ; do ( cd "$path" || exit $?... (4 Replies)
Discussion started by: sahil_jammu
4 Replies

5. Shell Programming and Scripting

absolute path for a script ran with relative path

I have a script in which i want to print absolute path of the same script irrespective of path from where i run script. I am using test.sh: echo "pwd : `pwd`" echo "script name: $0" echo "dirname: `dirname $0`" when i run script from /my/test/dir/struct as ../test.sh the output i... (10 Replies)
Discussion started by: rss67
10 Replies

6. Shell Programming and Scripting

Extracting parts of a file.

Hello, I have a XML file as below and i would like to extract all the lines between <JOB & </JOB> for every such occurance. The number of lines between them is not fixed. Anyways to do this awk? ============ <JOB APR="1" AUG="1" DEC="1" FEB="1" JAN="1" JUL="1" JUN="1" MAR="1" MAY="1"... (3 Replies)
Discussion started by: srivat79
3 Replies

7. Shell Programming and Scripting

Please help to write a executable script for extracting some parts of a file

Hi All, I am very new in programming. I need some help. I have one input file like: Number of disabled taxa: 9 Loading mapping file: ncbi.map Load mapping: taxId2TaxLevel: 469951 --- Subsample reads (20%): 66680 of 334386 Processing: tree-from-summary Running tree-from-summary algorithm... (9 Replies)
Discussion started by: iammitra
9 Replies

8. UNIX for Dummies Questions & Answers

Help with absolute path and relative path

I'm having problems accessing the Knoppix software on my current computer and the replacement CD I ordered hasn't arrived yet. I have a guess at what the answer would be for this question but I am not sure as I cannot test it with the software. I have to create a directory called class, and... (1 Reply)
Discussion started by: mzero
1 Replies

9. UNIX for Dummies Questions & Answers

absolute path

is cd ~ considered an absolute path? (2 Replies)
Discussion started by: Kirichiko
2 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