I think the easy solution is to use cd first.
Use a subshell and you don't even need to remember where you were:
edit:
if you're just curious about the functionality of basename, it operates on a parameter and doesn't strip paths from stdin. so piping to it is not going to work. you'd have to read and split wc's output using the shell and feed it back into basename, like so:
but at this point you may as well continue using the shells feature of parameter expansion to save from calling external programs a whole lot:
Last edited by neutronscott; 07-16-2015 at 12:47 PM..
Hi guys if i do
a=`basename -e -s /home/j/john/*`
du -k -h $a | sort -nr | head -10
why when i run the script does it work but also say usage basename string
any ideas thanks (9 Replies)
Hi,
can anyone let me know how to interpret the below third line in the following code.
Gone through the man pages of "basename", but no go.
for f in *.foo;
do
base=`basename $f .foo`
mv $f $base.bar
done
Thanks. (2 Replies)
I have a file
fileinput.txt:
File home/me/fileA.doc is size 232
File home/you/you/fileB.doc is size 343
File /directory/fileC.doc is size 433
File /directory/filed.doc cannot find file size
I want to use the basename command (or any other command) to output:
File fileA.doc is... (3 Replies)
im trying to extract the basename of a process running on a host
processx is running at host1 as /applications/myapps/bin/processx
i wanted to check if its running, then extract the basename only using:
$ ssh host1 "ps aux | grep -v 'grep' | grep 'processx'" | awk '{ print basename $11}'
... (10 Replies)
Hi All,
I would like to improve my bash scripting skill and found a problem which I do not understand. Task is to search and print files in directory (and subdirecories) which contains its own name. Files can have spaces in name.
This one works fine for files in main directory, but not for... (4 Replies)
Hi guys,
I need to know how i can ignore Pipe '|' if Pipe is coming as a column in Pipe delimited file
for eg:
file 1:
xx|yy|"xyz|zzz"|zzz|12...
using below awk command
awk 'BEGIN {FS=OFS="|" } print $3
i would get xyz
But i want as :
xyz|zzz to consider as whole column... (13 Replies)
Discussion started by: rohit_shinez
13 Replies
LEARN ABOUT FREEBSD
dirname
BASENAME(1) BSD General Commands Manual BASENAME(1)NAME
basename, dirname -- return filename or directory portion of pathname
SYNOPSIS
basename string [suffix]
basename [-a] [-s suffix] string [...]
dirname string [...]
DESCRIPTION
The basename utility deletes any prefix ending with the last slash '/' character present in string (after first stripping trailing slashes),
and a suffix, if given. The suffix is not stripped if it is identical to the remaining characters in string. The resulting filename is
written to the standard output. A non-existent suffix is ignored. If -a is specified, then every argument is treated as a string as if
basename were invoked with just one argument. If -s is specified, then the suffix is taken as its argument, and all other arguments are
treated as a string.
The dirname utility deletes the filename portion, beginning with the last slash '/' character to the end of string (after first stripping
trailing slashes), and writes the result to the standard output.
EXIT STATUS
The basename and dirname utilities exit 0 on success, and >0 if an error occurs.
EXAMPLES
The following line sets the shell variable FOO to /usr/bin.
FOO=`dirname /usr/bin/trail`
SEE ALSO csh(1), sh(1), basename(3), dirname(3)STANDARDS
The basename and dirname utilities are expected to be IEEE Std 1003.2 (``POSIX.2'') compatible.
BSD April 18, 1994 BSD