mirror of https://github.com/tLDP/LDP
44 lines
1.3 KiB
Bash
44 lines
1.3 KiB
Bash
#!/bin/bash
|
|
|
|
echo
|
|
echo "String operations using \"expr \$string : \" construct"
|
|
echo "==================================================="
|
|
echo
|
|
|
|
a=1234zipper5FLIPPER43231
|
|
|
|
echo "The string being operated upon is \"`expr "$a" : '\(.*\)'`\"."
|
|
# Escaped parentheses grouping operator. == ==
|
|
|
|
# ***************************
|
|
#+ Escaped parentheses
|
|
#+ match a substring
|
|
# ***************************
|
|
|
|
|
|
# If no escaped parentheses ...
|
|
#+ then 'expr' converts the string operand to an integer.
|
|
|
|
echo "Length of \"$a\" is `expr "$a" : '.*'`." # Length of string
|
|
|
|
echo "Number of digits at the beginning of \"$a\" is `expr "$a" : '[0-9]*'`."
|
|
|
|
# ------------------------------------------------------------------------- #
|
|
|
|
echo
|
|
|
|
echo "The digits at the beginning of \"$a\" are `expr "$a" : '\([0-9]*\)'`."
|
|
# == ==
|
|
echo "The first 7 characters of \"$a\" are `expr "$a" : '\(.......\)'`."
|
|
# ===== == ==
|
|
# Again, escaped parentheses force a substring match.
|
|
#
|
|
echo "The last 7 characters of \"$a\" are `expr "$a" : '.*\(.......\)'`."
|
|
# ==== end of string operator ^^
|
|
# (In fact, means skip over one or more of any characters until specified
|
|
#+ substring found.)
|
|
|
|
echo
|
|
|
|
exit 0
|