AWK命令,实在看不明白,awk -v sdate=$sdate '{iname=substr($3, index($3, ".")+1

awk -v sdate=$sdate '{iname=substr($3, index($3, ".")+1)  ll.sql
-v 是设置变量的意思
substr 是截取一段字符的意思,也知道
就是index($3,".")+1这点想不清楚,请大家指点一下

作者: 笑三笑211   发布时间: 2011-08-31

index($3,".")+1
index($3,".")的结果是“." 在字符串$3 中的位置,如"abcd.sss", 结果是 4, 因为字符串的字符位置是从0开始的。

所以,index($3,".")+1的结果就是“." 在字符串$3 中从1开始数的位置,或者说是字符串的第几个字符。在本例中是计算出“."的下一个字符的在$3字符串中从0开始的位置。

因此, substr($3, index($3, ".")+1的结果就是$3字符串从”."的下一个字符开始的后半段的字符串。 这个部分可以用来截取文件名的扩展名部分。

希望这个解释是正确的,而且符合你的情况。

[ 本帖最后由 AWKuser 于 2011-12-7 08:23 编辑 ]

作者: AWKuser   发布时间: 2011-12-07