09-28-2007
How do manipulate file path and names
In emacs elisp, there is a handy function called file-name-nondirectory which accepts a path and file name and returns just a file name and extension. There is also a function called file-name-directory which just returns the dire ctory name without the file.
How can I implement these same functions in perl and bash?
Thanks,
siegfried
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Recentily i receive virus ninda and my network was files *.eml.
I find all *.eml with:
find / -name *.eml -print > virus
Virus has the path and name of the file,so, How can i delete all *.eml?
Thanks (2 Replies)
Discussion started by: AlvaroD
2 Replies
2. Shell Programming and Scripting
hi i wrote following script,
#!/usr/bin/sh
for index in `ls /tmp/common/*.txt`
do
echo "$index"
done
here index is giving full path but in my program i want only file names (not along with whole path)
Eg. if in /tmp/common files are a.txt and b.txt den out should be a.txt b.txt
... (6 Replies)
Discussion started by: crackthehit007
6 Replies
3. Shell Programming and Scripting
Sun Solaris Unix Question
Haven't been able to find any solution for this situation. Let's just say the file names listed below exist in a directory. I want the find command to find all files in this directory but at the same time I want to eliminate certain file names or files with certain... (2 Replies)
Discussion started by: 2reperry
2 Replies
4. UNIX for Dummies Questions & Answers
Hello Unix Gurus,
I have a request 2 perform several functions on a file, delete columns, delete rows based on column value, and finally move around columns in the final output. Consider the following input file with 12 columns;
... (1 Reply)
Discussion started by: chumsky
1 Replies
5. UNIX for Dummies Questions & Answers
I have this piece of code
printf '%s\n' $pth*.msf | tr ' ' '\n' | sort -t '-' -k7 -k6r \
| awk -F- '{c=($6$7!=p&&FNR!=1)?ORS:"";p=$6$7}{printf("%c%s\n",c,$0)}'
When I run it I get
/home/chrisd/tatsh/branches/terr0.50/darwin/n02-z30-dsr65-terr0.50-dc0.002-8x6drw-csq.msf... (8 Replies)
Discussion started by: kristinu
8 Replies
6. Shell Programming and Scripting
I am in a directory called
/abstracts
Doing
tree -d
gives
.
├── geo1936
│ ├── geo01n01
│ ├── geo01n02
│ └── geo01n03
├── geo1937
│ ├── geo02n01
│ ├── geo02n02
│ ├── geo02n03
│ └── geo02n04 (4 Replies)
Discussion started by: kristinu
4 Replies
7. Shell Programming and Scripting
Hi Guys,
I have a file that lists patches along with other information.
The patches are listed in two different formats.
One format lists the latest patch, date , installed patch
Latest Patch Date IN
148412-02 13-Sep-2012 -- X X SunOS 5.10: nss_dns patch
126206-10 ... (5 Replies)
Discussion started by: Tornado
5 Replies
8. Shell Programming and Scripting
Hello,
How do i manipulate .csv file to this format?
Thank you very much.
Source:
john,5
marco,7
john,4
paul,3
marco,8
Output:
john,9
marco,15 (5 Replies)
Discussion started by: tara123
5 Replies
9. Shell Programming and Scripting
Data files coming in different names in a file name called process.txt.
1. shipments_yyyymmdd.gz
2 Order_yyyymmdd.gz
3. Invoice_yyyymmdd.gz
4. globalorder_yyyymmdd.gz
The process needs to discard all the below files and only process two of the 4 file names available
... (1 Reply)
Discussion started by: dsravanam
1 Replies
10. UNIX for Beginners Questions & Answers
Hello,
I am creating a file with all the source folders included in my git branch, when i grep for the used source, i found source included as relative path instead of absolute path, how can convert relative path to absolute path without changing directory to that folder and using readlink -f ? ... (4 Replies)
Discussion started by: Sekhar419
4 Replies
PATHINFO(3) 1 PATHINFO(3)
pathinfo - Returns information about a file path
SYNOPSIS
mixed pathinfo (string $path, [int $options = PATHINFO_DIRNAME | PATHINFO_BASENAME | PATHINFO_EXTENSION | PATHINFO_FILENAME])
DESCRIPTION
pathinfo(3) returns information about $path: either an associative array or a string, depending on $options.
PARAMETERS
o $path
- The path to be parsed.
o $options
- If present, specifies a specific element to be returned; one of PATHINFO_DIRNAME, PATHINFO_BASENAME, PATHINFO_EXTENSION or
PATHINFO_FILENAME. If $options is not specified, returns all available elements.
RETURN VALUES
If the $options parameter is not passed, an associative array containing the following elements is returned: dirname, basename, extension
(if any), and filename.
Note
If the $path has more than one extension, PATHINFO_EXTENSION returns only the last one and PATHINFO_FILENAME only strips the last
one. (see first example below).
Note
If the $path does not have an extension, no extension element will be returned (see second example below).
If $options is present, returns a string containing the requested element.
CHANGELOG
+--------+--------------------------------------------+
|Version | |
| | |
| | Description |
| | |
+--------+--------------------------------------------+
| 5.2.0 | |
| | |
| | The PATHINFO_FILENAME constant was added. |
| | |
+--------+--------------------------------------------+
EXAMPLES
Example #1
pathinfo(3) Example
<?php
$path_parts = pathinfo('/www/htdocs/inc/lib.inc.php');
echo $path_parts['dirname'], "
";
echo $path_parts['basename'], "
";
echo $path_parts['extension'], "
";
echo $path_parts['filename'], "
"; // since PHP 5.2.0
?>
The above example will output:
/www/htdocs/inc
lib.inc.php
php
lib.inc
Example #2
pathinfo(3) example showing difference between null and no extension
<?php
$path_parts = pathinfo('/path/emptyextension.');
var_dump($path_parts['extension']);
$path_parts = pathinfo('/path/noextension');
var_dump($path_parts['extension']);
?>
The above example will output something similar to:
string(0) ""
Notice: Undefined index: extension in test.php on line 6
NULL
NOTES
Note
For information on retrieving the current path info, read the section on predefined reserved variables.
Note
pathinfo(3) is locale aware, so for it to parse a path containing multibyte characters correctly, the matching locale must be set
using the setlocale(3) function.
SEE ALSO
dirname(3), basename(3), parse_url(3), realpath(3).
PHP Documentation Group PATHINFO(3)