mirror of
https://https.git.savannah.gnu.org/git/bash.git
synced 2026-07-04 10:50:50 +02:00
commit bash-20130301 snapshot
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
#From: "Grigoriy Strokin" <grg@philol.msu.ru>
|
||||
#Newsgroups: comp.unix.shell
|
||||
#Subject: fast basename and dirname functions for BASH/SH
|
||||
#Date: Sat, 27 Dec 1997 21:18:40 +0300
|
||||
#
|
||||
#Please send your comments to grg@philol.msu.ru
|
||||
|
||||
function basename()
|
||||
{
|
||||
local name="${1##*/}"
|
||||
echo "${name%$2}"
|
||||
}
|
||||
|
||||
function dirname()
|
||||
{
|
||||
local dir="${1%${1##*/}}"
|
||||
[ "${dir:=./}" != "/" ] && dir="${dir%?}"
|
||||
echo "$dir"
|
||||
}
|
||||
|
||||
# Two additional functions:
|
||||
# 1) namename prints the basename without extension
|
||||
# 2) ext prints extension of a file, including "."
|
||||
|
||||
function namename()
|
||||
{
|
||||
local name=${1##*/}
|
||||
local name0="${name%.*}"
|
||||
echo "${name0:-$name}"
|
||||
}
|
||||
function ext()
|
||||
{
|
||||
local name=${1##*/}
|
||||
local name0="${name%.*}"
|
||||
local ext=${name0:+${name#$name0}}
|
||||
echo "${ext:-.}"
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user