Sponsored Content
Top Forums Shell Programming and Scripting strike last part from list of files Post 302438106 by bankai on Sunday 18th of July 2010 08:06:06 PM
Old 07-18-2010
you can use 'dirname' on a fully qualified path to get the directory name.

'basename' will do the opposite


eg.
Code:
# dirname /path/to/file
/path/to

Code:
# basename /path/to/file
file

 

7 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

script on strike?

dear sages, please tell me what's wrong with the following script: #!/bin/sh #usage yd2ymd 1998213 # if there is no command line argument, assume one is being # piped in and read it if then read dt else dt=$1 fi #... (6 Replies)
Discussion started by: serguey
6 Replies

2. Shell Programming and Scripting

read a part of filename from the list in the script

how can i read a part of filename from the list in the script? all file in directory...will start with "CDBACKUPFILE" then the name is stored in list.txt such as JOHN,MARRY,PETER. After this, is seq number. CDBACKUPFILEJOHN00001 CDBACKUPFILEMARRY00004 CDBACKUPFILEPETER00003 I will use:... (3 Replies)
Discussion started by: happyv
3 Replies

3. SuSE

Lord of the Rings and Counter Strike on OpenSUSE 11.1

is it possible to get Lord of the Rings Battle for Middle Earth 2 and Counter Strike working on OpenSUSE 11.1? i'm dual booting SUSE with XP but if i can get those games working then there is no need for Windows. Thanks (1 Reply)
Discussion started by: brendanb
1 Replies

4. Shell Programming and Scripting

Validate if string part of a list

I have this requirement of validating input from user to be one of a list of strings. I validate it as below. case $1 in Jan) ;; Feb) ;; . . . Dec) ;; *) echo "Invalid input. Should be one of the following." echo "Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov... (8 Replies)
Discussion started by: krishmaths
8 Replies

5. Shell Programming and Scripting

A simpler way to do this (save a list of files based on part of their name)

Hello, I have a script that checks every file with a specific extension in a specific directory. The file names contain some numerical output and I am recording the file names with the best n outcomes. The script finds all files in the directory with the extension .out.txt and uses awk to... (12 Replies)
Discussion started by: LMHmedchem
12 Replies

6. Shell Programming and Scripting

Unzip all the files with subdirectories present and append a part of string from the main .zip files

Hi frnds, My requirement is I have a zip file with name say eg: test_ABC_UH_ccde2a_awdeaea_20150422.zip within that there are subdirectories on each directory we again have .zip files and in that we have files like mama20150422.gz and so on. Iam in need of a bash script so that it unzips... (0 Replies)
Discussion started by: Ravi Kishore
0 Replies

7. Shell Programming and Scripting

Display the last part of a number list

Hi , i have a file wich have 50+ of numbers like : 0.014544106 0.005464263 0.014526045 0.005484374 0.014539412 0.005467600 0.014558349 0.005452185 i would like to display the list from the 6th bit to the end for example 0.005452185 (should become) 2185. I've tried with ... (4 Replies)
Discussion started by: Board27
4 Replies
BASENAME(3)						     Linux Programmer's Manual						       BASENAME(3)

NAME
basename, dirname - parse pathname components SYNOPSIS
#include <libgen.h> char *dirname(char *path); char *basename(char *path); DESCRIPTION
Warning: there are two different functions basename() - see below. The functions dirname() and basename() break a null-terminated pathname string into directory and filename components. In the usual case, dirname() returns the string up to, but not including, the final '/', and basename() returns the component following the final '/'. Trail- ing '/' characters are not counted as part of the pathname. If path does not contain a slash, dirname() returns the string "." while basename() returns a copy of path. If path is the string "/", then both dirname() and basename() return the string "/". If path is a NULL pointer or points to an empty string, then both dirname() and basename() return the string ".". Concatenating the string returned by dirname(), a "/", and the string returned by basename() yields a complete pathname. Both dirname() and basename() may modify the contents of path, so it may be desirable to pass a copy when calling one of these functions. These functions may return pointers to statically allocated memory which may be overwritten by subsequent calls. Alternatively, they may return a pointer to some part of path, so that the string referred to by path should not be modified or freed until the pointer returned by the function is no longer required. The following list of examples (taken from SUSv2) shows the strings returned by dirname() and basename() for different paths: path dirname basename /usr/lib /usr lib /usr/ / usr usr . usr / / / . . . .. . .. RETURN VALUE
Both dirname() and basename() return pointers to null-terminated strings. (Do not pass these pointers to free(3).) CONFORMING TO
POSIX.1-2001. NOTES
There are two different versions of basename() - the POSIX version described above, and the GNU version, which one gets after #define _GNU_SOURCE /* See feature_test_macros(7) */ #include <string.h> The GNU version never modifies its argument, and returns the empty string when path has a trailing slash, and in particular also when it is "/". There is no GNU version of dirname(). With glibc, one gets the POSIX version of basename() when <libgen.h> is included, and the GNU version otherwise. BUGS
In the glibc implementation of the POSIX versions of these functions they modify their argument, and segfault when called with a static string like "/usr/". Before glibc 2.2.1, the glibc version of dirname() did not correctly handle pathnames with trailing '/' characters, and generated a segfault if given a NULL argument. EXAMPLE
char *dirc, *basec, *bname, *dname; char *path = "/etc/passwd"; dirc = strdup(path); basec = strdup(path); dname = dirname(dirc); bname = basename(basec); printf("dirname=%s, basename=%s ", dname, bname); SEE ALSO
basename(1), dirname(1) COLOPHON
This page is part of release 3.53 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/. GNU
2009-03-30 BASENAME(3)
All times are GMT -4. The time now is 10:38 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy