mirror of https://github.com/tLDP/LDP
32 lines
818 B
Bash
32 lines
818 B
Bash
#!/bin/bash
|
|
# substring-extraction.sh
|
|
|
|
String=23skidoo1
|
|
# 012345678 Bash
|
|
# 123456789 awk
|
|
# Note different string indexing system:
|
|
# Bash numbers first character of string as 0.
|
|
# Awk numbers first character of string as 1.
|
|
|
|
echo ${String:2:4} # position 3 (0-1-2), 4 characters long
|
|
# skid
|
|
|
|
# The awk equivalent of ${string:pos:length} is substr(string,pos,length).
|
|
echo | awk '
|
|
{ print substr("'"${String}"'",3,4) # skid
|
|
}
|
|
'
|
|
# Piping an empty "echo" to awk gives it dummy input,
|
|
#+ and thus makes it unnecessary to supply a filename.
|
|
|
|
echo "----"
|
|
|
|
# And likewise:
|
|
|
|
echo | awk '
|
|
{ print index("'"${String}"'", "skid") # 3
|
|
} # (skid starts at position 3)
|
|
' # The awk equivalent of "expr index" ...
|
|
|
|
exit 0
|