歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> AWK操作字符串的截取

AWK操作字符串的截取

日期:2017/3/1 9:59:56   编辑:Linux編程

對於awk和Bash來說,他們使用的是不同的string索引系統;

bash的第一個字符從0開始記錄;

awk的第一個字符從1開始記錄;

#012345678 ------------Bash

#123456789 -------------Awk

以下是案例說明:

[root@Slave02 shell]# vi substring-extraction.sh
#!/bin/bash

String=23skidoo1

echo ${String:2:4}
echo |awk '{ print substr("'"${String}"'",3,4) }'

exit 0
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
"substring-extraction.sh" [New] 8L, 108C written
[root@Slave02 shell]# sh substring-extraction.sh
skid
skid
[root@Slave02 shell]#

使用變量的前綴來匹配前面聲明過的所有變量;

如:

[root@Slave02 shell]# xyz23=watever
[root@Slave02 shell]# xyz24=asdf
[root@Slave02 shell]# echo "
a=${!xyz*}"
a=xyz23 xyz24
[root@Slave02 shell]# echo "a=${!xyz@}"
a=xyz23 xyz24
[root@Slave02 shell]#

拋骰子游戲;

SPOTS=6 -----取模為6,范圍在0-5
die1=0
die2=0


------------2個變量名稱,保證每個平面選擇的數字記錄相同

let "die1 = $RANDOM % $SPOTS +1"
let "die2 = $RANDOM % $SPOTS +1"

let "throw = $die1 + $die2"

echo "Throw of the dice = $throw"
echo

exit 0

Copyright © Linux教程網 All Rights Reserved