歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

AWK操作字符串的截取

AWK操作字符串的截取   對於awk和Bash來說,他們使用的是不同的string索引系統; bash的第一個字符從0開始記錄; awk的第一個字符從1開始記錄; #012345678   ------------Bash #123456789  -------------Awk 以下是案例說明: [html]  [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]#   使用變量的前綴來匹配前面聲明過的所有變量; 如: [html]  [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   以下驗證結果: [html]  Random number greater than 200 --- 25552      Throw of the dice = 5      [root@Slave02 shell]#    [html]  random number less than 500 --- 0      Random number greater than 200 --- 9765      Throw of the dice = 2      [root@Slave02 shell]#    [html]  Random number greater than 200 --- 31180      Throw of the dice = 10      [root@Slave02 shell]#      [root@Slave02 shell]# sh random2.sh  Random number between 0 and 1 = 0.246062 [root@Slave02 shell]# sh random2.sh  Random number between 0 and 1 = 0.619153 [root@Slave02 shell]# sh random2.sh  Random number between 0 and 1 = 0.619153 [root@Slave02 shell]# sh random2.sh  Random number between 0 and 1 = 0.619153 [root@Slave02 shell]# sh random2.sh  Random number between 0 and 1 = 0.619153 [root@Slave02 shell]# sh random2.sh  Random number between 0 and 1 = 0.201116 [root@Slave02 shell]# cat random2.sh  #!/bin/bash     AWKSCRIPT='{ srand(); print rand() }'    -srand中偽隨機的計算     echo -n "Random number between 0 and 1 = " echo | awk "$AWKSCRIPT"   exit 0 [root@Slave02 shell]#  
Copyright © Linux教程網 All Rights Reserved