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


 
Thread Tools Search this Thread
Top Forums UNIX for Beginners Questions & Answers Convert Relative path to Absolute path, without changing directory to the file location.
# 1  
Old 12-06-2019
Code:
#!/bin/bash

Spec=$( find . -name "*.spec" | sed 's/build.spec//g' )
hits=()
for each in ${Spec[@]}; do
  mhits=()

  hits=$( grep -rs "src +=" ${each}/build.spec | tr -d "(){}")
  for hit in ${hits[@]}; do   
    mhits="$mhits $( echo "${hit}" | cut -d "=" -f2 )"
  done
  for print in ${mhits[@]}; do
    if [[ "$print" == ..* ]]; then
      pushd $each > /dev/null
      fqn=$(readlink -f $print )
      opx=$( echo "${fqn}" | sed "s|${REPOROOT}|\$REPOROOT|g" )
      echo "$opx"
      popd > /dev/null
    fi
    if [[ "${print}" == *"REPOROOT"* ]]; then
      echo "$print"
    fi
  done
done

I wrote this one, and it worked
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

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

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

3. UNIX for Dummies Questions & Answers

deleting all the files inside a directory from a relative path

I have a file inside abc/def/ghi directory. let say a.txt I need to delete this a.txt from abc itself. I have tried ls /abc/def/ghi | xargs rm -r its saying rm: a.txt non-existent also tried rm -rf /def/ghi but in vein. plz help :) (2 Replies)
Discussion started by: gotam
2 Replies

4. Solaris

Changing of syslog file path instead of /var/log directory

Hi Please let me know how can we change the syslog file path from /var/log to /a directory in solaris Regards (4 Replies)
Discussion started by: amity
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. 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

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

8. Shell Programming and Scripting

getting full path from relative path

given a relative path, how do i convert it into a full one. i.e. if i am in /home/polypus and i am given foo/bar then to get a full path i can just concatinate it with pwd, but what if i am given "../mama" how do i programmatically convert: /home/polypus and ../mama into ... (4 Replies)
Discussion started by: polypus
4 Replies

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

10. Shell Programming and Scripting

want the current directory without the absolute path

Hi guys I'm trying to move an empty directory to the $TRASH directory. Say the directory i have is ./hello/hello1/hello2 and i'm in hello2, and i want hello2 moved. this code: TRASH=$home/deleted find "$TRASH/$1" -type d -exec rmdir { } \; 2>/dev/null mv -f $1 $TRASH 2>/dev/null works... (2 Replies)
Discussion started by: olimiles
2 Replies
Login or Register to Ask a Question
LaTeXML::Util::Pathname(3pm)				User Contributed Perl Documentation			      LaTeXML::Util::Pathname(3pm)

NAME
"LaTeXML::Util::Pathname" - portable pathname and file-system utilities DESCRIPTION
This module combines the functionality File::Spec and File::Basename to give a consistent set of filename utilties for LaTeXML. A pathname is represented by a simple string. Pathname Manipulations "$path = pathname_make(%peices);" Constructs a pathname from the keywords in pieces dir : directory name : the filename (possibly with extension) type : the filename extension "($dir,$name,$type) = pathname_split($path);" Splits the pathname $path into the components: directory, name and type. "$path = pathname_canonical($path);" Canonicallizes the pathname $path by simplifying repeated slashes, dots representing the current or parent directory, etc. "$dir = pathname_directory($path);" Returns the directory component of the pathname $path. "$name = pathname_name($path);" Returns the name component of the pathname $path. "$type = pathname_type($path);" Returns the type component of the pathname $path. "$path = pathname_concat($dir,$file);" Returns the pathname resulting from concatenating the directory $dir and filename $file. "$boole = pathname_is_absolute($path);" Returns whether the pathname $path appears to be an absolute pathname. "$path = pathname_relative($path,$base);" Returns the path to file $path relative to the directory $base. "$path = pathname_absolute($path,$base);" Returns the absolute pathname resulting from interpretting $path relative to the directory $base. If $path is already absolute, it is returned unchanged. File System Operations "$modtime = pathname_timestamp($path);" Returns the modification time of the file named by $path, or undef if the file does not exist. "$path = pathname_cwd();" Returns the current working directory. "$dir = pathname_mkdir($dir);" Creates the directory $dir and all missing ancestors. It returns $dir if successful, else undef. "$dest = pathname_copy($source,$dest);" Copies the file $source to $dest if needed; ie. if $dest is missing or older than $source. It preserves the timestamp of $source. "$path = pathname_find($name,%options);" Finds the first file named $name that exists and that matches the specification in the keywords %options. An absolute pathname is returned. If $name is not already an absolute pathname, then the option "paths" determines directories to recursively search. It should be a list of pathnames, any relative paths are interpreted relative to the current directory. If "paths" is omitted, then the current directory is searched. If the option "installation_subdir" is given, it indicates, in addition to the above, a directory relative to the LaTeXML installation directory to search. This allows files included with the distribution to be found. The "types" option specifies a list of filetypes to search for. If not supplied, then the filename must match exactly. "@paths = pathname_findall($name,%options);" Like "pathname_find", but returns all matching paths that exist. AUTHOR
Bruce Miller <bruce.miller@nist.gov> COPYRIGHT
Public domain software, produced as part of work done by the United States Government & not subject to copyright in the US. perl v5.10.1 2009-06-11 LaTeXML::Util::Pathname(3pm)