.sh and sed
Matthew Seaman
m.seaman at infracaninophile.co.uk
Wed Jun 16 11:40:15 UTC 2010
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 16/06/2010 12:16:06, Aiza wrote:
> Trying to use sed to remove the path from the file name.
> Variable has complete path plus the file name
> /usr/local/etc/filename
> Need variable containing only the file name.
> Is the sed utility the best thing to use?
> Is there some other utility better suited for this task.
> How would sed by coded to do this?
sh(1) can do this alone, without recourse to any external programs.
path='/usr/local/etc/filename'
fname=${path##*/}
echo $fname
There is also an external program basename(1)
The same trick with sed(1):
fname=$( echo $path | sed -e 's,^.*/,,' )
but the built-in prefix matching stuff is preferable since it is more
efficient.
Cheers,
Matthew
- --
Dr Matthew J Seaman MA, D.Phil. 7 Priory Courtyard
Flat 3
PGP: http://www.infracaninophile.co.uk/pgpkey Ramsgate
JID: matthew at infracaninophile.co.uk Kent, CT11 9PW
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.14 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iEYEARECAAYFAkwYuBMACgkQ8Mjk52CukIxF2QCcDqIpSGa98Wrp6dD+ii1FGJ5q
p4oAn2NJxqIksx9iS0QSzT8Ypme6wwE4
=aFrN
-----END PGP SIGNATURE-----
More information about the freebsd-questions
mailing list