01-26-2006
Truncate directory path
Is it possibe to use sed for the following? I would like to truncate the output of a directory path if it's over 3 directory levels deep. For example:
/dir1/dir2/dir3 -- NO change required
but,
/dir1/dir2/dir3/dir4 would output as ~/dir4
Thanks.
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
If I the path to a directory, what command can I use to return the actual name of that directory.
test=`pwd`/folder1
> $test
folder1
I'd rather avoid anything with regular expressions. Any ideas? (1 Reply)
Discussion started by: ordano
1 Replies
2. Shell Programming and Scripting
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
3. Shell Programming and Scripting
Hi everyone,
I have a question for you, I'm trying to create a script that will automate creating loading screens for the iPhone.
So what I need to do, is list the directories inside /var/mobile/Applications and scan inside those, for the .app directory inside each. Take that .app name... (15 Replies)
Discussion started by: kicker75
15 Replies
4. UNIX for Advanced & Expert Users
Hello,
Given below are 2 sample paths from 2 different servers:
/opt/temp/PROD/Script/New/Letters
/opt/Share/temp/Share1/PROD/Script/Files/New/Letters
I would like to truncate the path till the folder "PROD". Please note that the field count of the folder "PROD" vaires from... (1 Reply)
Discussion started by: DawnNish
1 Replies
5. AIX
Hi,
i tryed
tprof -skex sleep 6
but...
Process PID TID Total Kernel User Shared Other Java
======= === === ===== ====== ==== ====== ===== ====
wait 57372 77863 31.31 31.31 0.00 0.00 0.00 0.00
wait ... (1 Reply)
Discussion started by: zanac
1 Replies
6. Shell Programming and Scripting
If I enter (simplified):
find . -printf "%p\n"
then all files in the output are prepended by a "." like
./local/share/test23.log
How can achieve that
a.) the leading "./" is omitted
and/or
b.) the full path to the current directory is inserted (enclosed by brackets and a blank)... (1 Reply)
Discussion started by: pstein
1 Replies
7. Shell Programming and Scripting
Hello,
I am looking for a command that will give me the last directory name from a path
ex 1 :
/dir1/dir/2/dir3/
output needed
dir3
ex 2 :
/dir1/dir/2/dir3/dir4/
output needed
dir4 (1 Reply)
Discussion started by: Aswex
1 Replies
8. UNIX for Dummies Questions & Answers
My input is as below :
/splunk/scrubbed/rebate/IFIND.REBTE.WROC.txt
/splunk/scrubbed/rebate/IFIND.REBTE.WROC.txt
/splunk/scrubbed/loyal/IFIND.HELLO.WROC.txt
/splunk/scrubbed/triumph/ifind.triumph.txt
From the above input I want to extract the file names only .
Basically I want to... (5 Replies)
Discussion started by: IshuGupta
5 Replies
9. UNIX for Beginners Questions & Answers
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
10. UNIX for Beginners Questions & Answers
What is the difference ../directory path and ./directory path in ksh? (1 Reply)
Discussion started by: TestKing
1 Replies
LEARN ABOUT OPENSOLARIS
mkdirp
mkdirp(3GEN) String Pattern-Matching Library Functions mkdirp(3GEN)
NAME
mkdirp, rmdirp - create or remove directories in a path
SYNOPSIS
cc [ flag ... ] file ... -lgen [ library ... ]
#include <libgen.h>
int mkdirp(const char *path, mode_t mode);
int rmdirp(char *dir, char *dir1);
DESCRIPTION
The mkdirp() function creates all the missing directories in path with mode. See chmod(2) for the values of mode.
The rmdirp() function removes directories in path dir. This removal begins at the end of the path and moves backward toward the root as far
as possible. If an error occurs, the remaining path is stored in dir1.
RETURN VALUES
If path already exists or if a needed directory cannot be created, mkdirp() returns -1 and sets errno to one of the error values listed for
mkdir(2). It returns zero if all the directories are created.
The rmdirp() function returns 0 if it is able to remove every directory in the path. It returns -2 if a ``.'' or ``..'' is in the path and
-3 if an attempt is made to remove the current directory. Otherwise it returns -1.
EXAMPLES
Example 1 Example of creating scratch directories.
The following example creates scratch directories.
/* create scratch directories */
if(mkdirp("/tmp/sub1/sub2/sub3", 0755) == -1) {
fprintf(stderr, "cannot create directory");
exit(1);
}
chdir("/tmp/sub1/sub2/sub3");
.
.
.
/* cleanup */
chdir("/tmp");
rmdirp("sub1/sub2/sub3");
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|MT-Level |MT-Safe |
+-----------------------------+-----------------------------+
SEE ALSO
chmod(2), mkdir(2), rmdir(2), malloc(3C), attributes(5)
NOTES
The mkdirp() function uses malloc(3C) to allocate temporary space for the string.
SunOS 5.11 14 Oct 2003 mkdirp(3GEN)