linux shell之IFS分割字符串

1 问题

我们有段字符串data="chenyu:chenzixuan:chenzi",我们需要通过:分割,我们可以采用IFS

我们可以采用下面的模板

    oldIFS=$IFS
     
    IFS=":"
     
    for item in $data;
    do
         *******
    done
     
    IFS=$oldIFS

 
2 代码实现

    #/bin/bash
     
    data="chenyu, chencaifeng, chenzixuan, chenzixi"
     
    oldIFS=$IFS
     
    IFS=", "
     
    for item in $data;
    do
        echo Item:$item
    done
     
    IFS=$oldIFS
    
     
    line="chen:gong:yu:chen:cai:feng";
     
    oldIFS=$IFS
     
    IFS=":"
    count=0
    for item in $line;
    do
        [ $count -eq 0 ] && user=$item
        [ $count -eq 4 ] && name=$item
    #    count=$[$count + 1];
        let count++
    done
    IFS=$oldIFS
     
    echo $user
    echo $name


 
3 运行结果

    Item:chenyu
    Item:chencaifeng
    Item:chenzixuan
    Item:chenzixi
    chen
    cai





 
作者:chen.yu
深信服三年半工作经验,目前就职游戏厂商,希望能和大家交流和学习,
微信公众号:编程入门到秃头 或扫描下面二维码
零基础入门进阶人工智能(链接)