awk 内置字符串函数index的用法

 

index(x,y):返回字符y在字符串x中的位置。

 

示例:

root@PC1:/home/test2# ls
a.txt
root@PC1:/home/test2# cat a.txt
dgfe knkds
dfdf dfewf
zdfj ewkhd
root@PC1:/home/test2# awk '{print index($2, "k")}' a.txt    ## 返回字符k在第二列中的位置
1
0
3
root@PC1:/home/test2# awk '{print index($1, "j")}' a.txt    #3 返回字符j在第一列中的位置
0
0
4

 

同match??

root@PC1:/home/test2# cat a.txt
dgfe knkds
dfdf dfewf
zdfj ewkhd
root@PC1:/home/test2# awk '{print match($2, "k")}' a.txt
1
0
3
root@PC1:/home/test2# awk '{print match($1, "j")}' a.txt
0
0
4

 

 

003、结合substr函数使用

root@PC1:/home/test2# cat a.txt
dgfe knkds
dfdf dfewf
zdfj ewkhd
root@PC1:/home/test2# awk '{print substr($1, 0, index($1, "f"))}' a.txt     ### 提取第一列第一个字符到f的字符串
dgf
df
zdf
root@PC1:/home/test2# awk '{print substr($1, index($1, "f"))}' a.txt        ### 提取第一个f到最后的字符串 
fe
fdf
fj

 

posted @ 2022-05-01 11:59  小鲨鱼2018  阅读(1782)  评论(0编辑  收藏  举报