12-02-2008
Basename a file with spaces
Hi,
I'm trying to get the filename from a full path, but the filename contain spaces. So basename tries to remove the "suffix" which is part of the filename...
Ex.
#!/bin/ksh
INPUT=/full/path/file with space.mp3
FILE=$(basename $INPUT)
This will return a basename exception trying to remove the suffix "with space.mp3"
Any solution?
Thanks
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi,
Can someone let me know how to find the reverse of the basename i.e
i have /apps/tiv/pmon/xxxx.dat and I want /apps/tiv/pmon/
Thanks (7 Replies)
Discussion started by: braindrain
7 Replies
2. Shell Programming and Scripting
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)
Discussion started by: musicmancanora4
9 Replies
3. Shell Programming and Scripting
hi,
can anyone help me by saying what is basename..
i have seen this in many programs where the basename is used....
thanks,
Krips (4 Replies)
Discussion started by: kripssmart
4 Replies
4. Shell Programming and Scripting
Hello All,
I am trying to remove all tabspaces and all blankspaces from my file using sed & awk, but not getting proper code. Please help me out.
My file is like this (<b> means one blank space, <t> means one tab space)-
$ cat file
NARESH<b><b><b>KUMAR<t><t>PRADHAN... (3 Replies)
Discussion started by: NARESH1302
3 Replies
5. Shell Programming and Scripting
Hi all,
/home/test/test 123.txt
i want exact file name like "test 123.txt"
basename shows wrong output
how can i cut text from 1st charaster to last "/".....? (5 Replies)
Discussion started by: jagnikam
5 Replies
6. UNIX for Dummies Questions & Answers
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)
Discussion started by: venkatesht
2 Replies
7. Shell Programming and Scripting
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)
Discussion started by: linuxkid
3 Replies
8. UNIX for Dummies Questions & Answers
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)
Discussion started by: kaboink
10 Replies
9. Shell Programming and Scripting
what is the meaning of "script_name=$(basename $0)", can someone please explain? (1 Reply)
Discussion started by: abhi200389
1 Replies
10. UNIX for Dummies Questions & Answers
I would like to use basename with wc .. I know I can use awk, but want to use basename.
Change this
wc -l txt*
106 /home/popeye/txt1
154 /home/popeye/txt2
159 /home/popeye/txt3
420 total
to this
wc -l txt*
106 txt1
154 txt2
159 txt3
420 total (4 Replies)
Discussion started by: popeye
4 Replies
BASENAME(3) 1 BASENAME(3)
basename - Returns trailing name component of path
SYNOPSIS
string basename (string $path, [string $suffix])
DESCRIPTION
Given a string containing the path to a file or directory, this function will return the trailing name component.
PARAMETERS
o $path
- A path. On Windows, both slash ( /) and backslash ( ) are used as directory separator character. In other environments, it is
the forward slash ( /).
o $suffix
- If the name component ends in $suffix this will also be cut off.
RETURN VALUES
Returns the base name of the given $path.
EXAMPLES
Example #1
basename(3) example
<?php
echo "1) ".basename("/etc/sudoers.d", ".d").PHP_EOL;
echo "2) ".basename("/etc/sudoers.d").PHP_EOL;
echo "3) ".basename("/etc/passwd").PHP_EOL;
echo "4) ".basename("/etc/").PHP_EOL;
echo "5) ".basename(".").PHP_EOL;
echo "6) ".basename("/");
?>
The above example will output:
1) sudoers
2) sudoers.d
3) passwd
4) etc
5) .
6)
NOTES
Note
basename(3) operates naively on the input string, and is not aware of the actual filesystem, or path components such as " ..".
Note
basename(3) is locale aware, so for it to see the correct basename with multibyte character paths, the matching locale must be set
using the setlocale(3) function.
SEE ALSO
dirname(3), pathinfo(3).
PHP Documentation Group BASENAME(3)