BASH
Configurare email
Configurare software
Hardware
Linux
Linux Mint
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 }