shell 如何用指定的分隔符来分割字符串让结果为一个字符串数组,类似 java 中的 split, 而 split 关键字已经留给文件分割了,故字符串就分割处理就不能在使用了,那如何来处理字符串串分割呢?方法有两种

一、对于不包含空格的字符串,使用下面方法

方法一

#!/bin/bash
string="hello,shell,haha" 
array=(${string//,/ }) 
for var in ${array[@]}
do
  echo $var
done 

方法二

#!/bin/bash
string="hello,shell,haha"
OLD_IFS="$IFS"
IFS=","
array=($string)
IFS="$OLD_IFS"
for var in ${array[@]}
do
  echo $var
done

方法三:利用tr 指令实现字符替换

#!/bin/bash
string="one,two,three,four,five"
array=(`echo $string | tr ',' ' '` ) 
 
for var in ${array[@]}
do
  echo $var
done

二、对于包含空格的字符串,使用下面方法

#!/bin/bash
str='this is a good question, hello shell, look at me, show your enthusiasm'
i=1
while((1==1))
do
  splitchar=`echo $str|cut -d "," -f$i`
  if [ "$splitchar" != "" ]
  then
      ((i++))
      echo $splitchar
  else
      break
  fi
done
标签:
shell,分割字符串,shell,字符串分割

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
内蒙古资源网 Copyright www.nmgbbs.com

RTX 5090要首发 性能要翻倍!三星展示GDDR7显存

三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。

首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。

据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。