分享

linux shell将字符串分割数组

 Baruch 2017-11-24

经常用将字符串分割为数组的需求。在shell中常用的方式为以下两种

  1. #!/bin/bash  
  2.   
  3. function split_1()  
  4. {  
  5.     x="a,b,c,d"  
  6.   
  7.     OLD_IFS="$IFS"  
  8.     IFS=","  
  9.     array=($x)  
  10.     IFS="$OLD_IFS"  
  11.   
  12.     for each in ${array[*]}  
  13.     do  
  14.         echo $each  
  15.     done  
  16. }  
  17.   
  18. function split_2()  
  19. {  
  20.     x="a,b,c,d"  
  21.   
  22.     echo $x | awk '{split($0,arr,",");for(i in arr) print i,arr[i]}'  
  23. }  
  24.   
  25. split_1  
  26. split_2  

对于方法一,将系统IFS临时替换为分隔符,然后再换回去,达到分割字符串为数组的目的

对于方法二,采用awk的split函数分割,注意awk中的数组为关联数组,不清楚的同学们请查阅相关资料。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多