BASH
Configurare email
Configurare software
Hardware
Linux
Linux Mint
Linux Ubuntu
MIKROTIK
Pentru tonti
Securitate
VMWARE
Windows
bash :: functie bash pentru aflarea pozitiei unui substring intr-un string
![]() CAMSCAPE SERVICES Cristian M. |
Title | Functie bash pentru aflarea pozitiei unui substring intr-un string |
| Tags | bash, substring, pozitie | |
| Desc. | Functie bash pentru aflarea pozitiei unui substring intr-un string | |
| Code | KBSH0011 v1.0 | |
| Date | 8 octombrie 2012 |
Functia este de 10 (zece!) ori mai rapida decat varianta AWK de la KBSH0010 dar aveti nevoie de o versiune bash relativ recenta. Deasemenea, shell-ul folosit trebuie sa fie /bin/bash nu /bin/sh
function StrPos {
# Function that return substring first position within a string, 0 if not
# found.
#
# The function is 10 times faster than the AWK variant, but needs a recent
# bash and use of /bin/bash instead of /bin/sh as shell.
#
# Param:
# - string
# - substring to be found
#
# Return:
# - 0 if not found, substring position if found
#
# Copyright CAMSCAPE SERVICES GPLv2
# http://www.camscape.ro
#
STRING=$1
SUBSTRING=$2
LEN_STRING=${#STRING}
LEN_SUBSTRING=${#SUBSTRING}
TEMP=${STRING#*$SUBSTRING}
LEN_TEMP=${#TEMP}
if [ $LEN_TEMP -eq $LEN_STRING ]; then
POS=0
else
POS=$((LEN_STRING-LEN_TEMP-LEN_SUBSTRING+1))
fi
echo $POS
}


