Sponsored Content
Top Forums Shell Programming and Scripting Real-time scenarios where VARIABLE SUBSTITUTION/EXPANSION is useful Post 302946369 by cfajohnson on Monday 8th of June 2015 06:29:06 PM
Old 06-08-2015
Probably my most frequent use is to get the filename from a full path, essentally replacing the basename command:

Code:
path=/path/to/file
file=${path##*/}

 

5 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

sed insert command and variable expansion/command substitution

I know this script is crummy, but I was just messing around.. how do I get sed's insert command to allow variable expansion to show the filename? #!/bin/bash filename=`echo $0` /usr/bin/sed '/#include/ { i\ the filename is `$filename` }' $1 exit 0 (8 Replies)
Discussion started by: glev2005
8 Replies

2. Shell Programming and Scripting

[Solved] Command Substitution and Variable Expansion within a Case

Hello All, I don't write scripts very often, and in this case I am stumped, although it may be a bug in the version of bash I have to use (it's not my system). I want to extract a specific string snippet from a block of text (coming from a log file) that is dependent on a bunch of other... (1 Reply)
Discussion started by: jaimielives
1 Replies

3. Shell Programming and Scripting

Shell script to convert epoch time to real time

Dear experts, I have an epoch time input file such as : - 1302451209564 1302483698948 1302485231072 1302490805383 1302519244700 1302492787481 1302505299145 1302506557022 1302532112140 1302501033105 1302511536485 1302512669550 I need the epoch time above to be converted into real... (4 Replies)
Discussion started by: aismann
4 Replies

4. Shell Programming and Scripting

Converting real time to epoch time

# date +%s -d "Mon Feb 11 02:26:04" 1360567564 # perl -e 'print scalar localtime(1360567564), "\n";' Mon Feb 11 02:26:04 2013 the epoch conversion is working fine. but one of my application needs 13 digit epoch time as input 1359453135154 rather than 10 digit epoch time 1360567564... (3 Replies)
Discussion started by: vivek d r
3 Replies

5. Shell Programming and Scripting

sed variable expansion fails for substitution in range

I'm trying to change "F" to "G" in lines after the first one: 'FUE.SER' 5 1 1 F0501 F0401 F0502 2 1 F0301 E0501 F0201 E0502 F0302 3 1 F0503 E0503 E0301 E0201 E0302 E0504 F0504 4 1 F0402 F0202 E0202 F0101 E0203 F0203 F0403 5 1 F0505 E0505 E0303 E0204 E0304 E0506... (10 Replies)
Discussion started by: larrl
10 Replies
dirname(3C)						   Standard C Library Functions 					       dirname(3C)

NAME
dirname - report the parent directory name of a file path name SYNOPSIS
#include <libgen.h> char *dirname(char *path); DESCRIPTION
The dirname() function takes a pointer to a character string that contains a pathname, and returns a pointer to a string that is a pathname of the parent directory of that file. Trailing '/' characters in the path are not counted as part of the path. If path does not contain a '/', then dirname() returns a pointer to the string "." . If path is a null pointer or points to an empty string, dirname() returns a pointer to the string "." . RETURN VALUES
The dirname() function returns a pointer to a string that is the parent directory of path. If path is a null pointer or points to an empty string, a pointer to a string "." is returned. ERRORS
No errors are defined. EXAMPLES
Example 1 Changing the Current Directory to the Parent Directory. The following code fragment reads a pathname, changes the current working directory to the parent directory of the named file (see chdir(2)), and opens the file. char path[[MAXPATHLEN], *pathcopy; int fd; fgets(path, MAXPATHLEN, stdin); pathcopy = strdup(path); chdir(dirname(pathcopy)); fd = open(basename(path), O_RDONLY); Example 2 Sample Input and Output Strings for dirname(). In the following table, the input string is the value pointed to by path, and the output string is the return value of the dirname() func- tion. +-----------------------------+-----------------------------+ | Input String | Output String | +-----------------------------+-----------------------------+ |"/usr/lib"" |"/usr" | +-----------------------------+-----------------------------+ |"/usr/" |"/" | +-----------------------------+-----------------------------+ |"usr" |"/" | +-----------------------------+-----------------------------+ |"/" |"/" | +-----------------------------+-----------------------------+ |"." |"." | +-----------------------------+-----------------------------+ |".." |"." | +-----------------------------+-----------------------------+ USAGE
The dirname() function modifies the string pointed to by path. The dirname() and basename(3C) functions together yield a complete pathname. The expression dirname(path) obtains the pathname of the directory where basename(path) is found. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |Standard | +-----------------------------+-----------------------------+ |MT-Level |MT-Safe | +-----------------------------+-----------------------------+ SEE ALSO
basename(1), chdir(2), basename(3C), attributes(5), standards(5) SunOS 5.11 18 Mar 2002 dirname(3C)
All times are GMT -4. The time now is 02:32 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy