linux shell 字符串截取总结

来源:互联网 发布:java 商城 小程序 编辑:程序博客网 时间:2024/04/28 21:19

linux中对字符串的处理:

1.字符串分割例如  AAAAA-BBBBBB  按-分割去前后两部分

 cut :

[rich@localhost ~]$ str=AAAAA-BBBBBB
[rich@localhost ~]$ echo $str | cut -d "-" -f 1
AAAAA
[rich@localhost ~]$ echo $str | cut -d "-" -f 2
BBBBBB

解释:A | B  将A命令的输出 作为B命令的输入

cut

-d  :分隔符

-f   : field  分割后的数组索引 只不过是从1开始

如果不存在分割符则返回全部:

[rich@localhost ~]$ echo $str | cut -d "c" -f 1
AAAAA-BBBBBB

 

 

expr  && cut:

 

取“-”的索引

[rich@localhost ~]$ index=`expr index  "${str}" "-"`

[rich@localhost ~]$ echo $str | cut -c`expr "${index}" + 1`-
BBBBBB
[rich@localhost ~]$ echo $str | cut -c1-`expr ${index} - 1`
AAAAA

cut

-c 截取字符串 索引从1开始

-cA-   A到末尾

-cA  A位置

-c A-B   索引A-B

-c-A   截取前A个字符

substr:

[rich@localhost ~]$ index=`expr ${index} - 1`

[rich@localhost ~]$ echo `expr substr "${str}" 1 ${index}`
AAAAA

substr  str A  B

从索引A开始截取B长度的字符串

 

 

原创粉丝点击