shell 使用指定的分割符來分割字符串的方法 linux shell 程式碼

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 分割字符串內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支援!

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *