手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

AWK操作字符串的截取

[日期:2013-03-21] 来源:Linux社区  作者:songxixi [字体: ]

对于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

linux
相关资讯       awk  AWK字符串操作  AWK字符串 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款