Extract directory name from the full directory path in UNIX using shell scripting


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Extract directory name from the full directory path in UNIX using shell scripting
# 1  
Old 06-03-2014
Extract directory name from the full directory path in UNIX using shell scripting

My input is as below :

Code:
/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 extract anything after 4th slash (/) , as the file will always be under third directory .

Last edited by IshuGupta; 06-03-2014 at 08:01 PM..
# 2  
Old 06-03-2014
Code:
filepath="/splunk/scrubbed/rebate/IFIND.REBTE.WROC.txt"
echo ${filepath##*/}

---------- Post updated at 04:50 PM ---------- Previous update was at 04:46 PM ----------

Code:
while read f; do echo ${f##*/}; done < filelist

This User Gave Thanks to Aia For This Post:
# 3  
Old 06-03-2014
Thanks a bunch Aia.....it works..... when you get time...can you please tell me how ##*/ works
# 4  
Old 06-03-2014
Quote:
Originally Posted by IshuGupta
Thanks a bunch Aia.....it works..... when you get time...can you please tell me how ##*/ works
## (2#) to match as much of the pattern (in this case */) and strip it, starting from the beginning
There are also:
# (1#) same that ## except that it will match as less as possible (no greedy)

If you want to start from the end of the content, then you use % or %%
This User Gave Thanks to Aia For This Post:
# 5  
Old 06-03-2014
Great...it absolutely looks like a machine language. Smilie
# 6  
Old 06-03-2014
Quote:
Originally Posted by IshuGupta
Great...it absolutely looks like a machine language. Smilie
The language is called the shell command language. It is defined on your shell's man page. This part of the language is described in a section called parameter expansion; ${var##*/} is described in a subset of that portion of the language known as variable expansion.
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Extract directory path from a parameter

i was attempting to extract a directory path that was passed from a parameter with this code vdir=`dirname $p1` echo current directory $vdir it does not work when the parameter passed has wild card on it. for example $ sh sample1.sh "/sbin/log/c*.log" dirname: extra operand... (2 Replies)
Discussion started by: wtolentino
2 Replies

2. Shell Programming and Scripting

Shell scripting-I need a script which should watch a directory for a file with specific directory

I need a script which should watch a directory for a file with specific directory. If it finds a file in directory, it should search for few specific keyword in the file. if the keyword exists, it should trim string from specific column. The file should be moved to another directory and the a... (8 Replies)
Discussion started by: akashdeepak
8 Replies

3. UNIX for Dummies Questions & Answers

Extract directory from full file name?

I think I know what this is doing, but the 'eval' is confusing fname=$(echo ${lineItem} | awk 'BEGIN {FS=";"}{print $1}') fname=${fname%%+(])} fname=${fname##+(])} eval "fname=${fname}" The first line extracts the contents of the line preceeding the ";" 2nd & 3rd lines trim the value (I... (5 Replies)
Discussion started by: jdorn001
5 Replies

4. Shell Programming and Scripting

How to list all Subdirectories and files with its full path in a parent directory?

How to list all Subdirectories and files with its full path in a parent directory? (1 Reply)
Discussion started by: johnveslin
1 Replies

5. Shell Programming and Scripting

$0 doesn't have full directory path

I'm running AIX unix korn shell. If I echo $0, I only get the filename, it does not have the directory name also. So when I do: `dirname $0` it returns a . (meaning current directory). How get $0 to return the full path/filename? Do I need something in my .profile? Thank you. (8 Replies)
Discussion started by: sboxtops
8 Replies

6. Shell Programming and Scripting

How do I get an ls -l to not show the full directory path?

Hey I'm new to the forums here, and I'm seeking help for this script that I'm writing. When I do ls -l of a directory it shows the full pathname for files in it. For example, if the directory is /internet/post/forum/ and the file is topic, it currently shows internet/post/forum/topic. What's the... (3 Replies)
Discussion started by: unity04
3 Replies

7. UNIX for Dummies Questions & Answers

Present Working Directory (not the full path)

Hi, Is there a command that tells you right away the current working directory? I know the command "pwd", but that one gives the full path. if pwd gives me: /a/b/c/d/ggg/HERE I want something that will give me: HERE Thanks, Gaurab (13 Replies)
Discussion started by: gaurab
13 Replies

8. Shell Programming and Scripting

How to extract strings from full path when full path is not fixed

/Path/snowbird9/nrfCompMgrRave1230100920.log.gz:09/20/2010 06:14:51 ERROR Error Message. /Path/snowbird6/nrfCompMgrRave1220100920.log.gz:09/20/2010 06:14:51 ERROR Error Message. /Path/snowbird14/nrfCompMgrRave920100920.log.gz:09/20/2010 06:14:51 ERROR Error Message.... (0 Replies)
Discussion started by: Shirisha
0 Replies

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

10. Shell Programming and Scripting

Sorting by Full directory path

I have a text file with full list of files with their full path. I wanted to sort it by directory then files then subdirectory by alphabetically. When I used the sort command it doesn't give like what I want. Could somebody help me on this. Here is the ex: This is what I'm getting... (2 Replies)
Discussion started by: javidraaj
2 Replies
Login or Register to Ask a Question