Bash Shell 如何接收並切割字串

Linux 於 Bash Shell 如何將檔案內的內容切割到每個變數,或者如何撈外部 API 的內容,並 assign 到每個變數去?

Bash Shell 如何接收並切割字串

先對一個檔案,內容用空格分隔的三個參數

  1. cat filename
    a b c
  2. k1=$(cat filename | cut -d' ' -f 1)
  3. k2=$(cat filename | cut -d' ' -f 2)
  4. echo $k1
    a
  5. echo $k2
    b

若抓遠端檔案 並 使用 tab 分隔

  1. cat tab-filename.txt # a [tab] b 遠端檔案 a\tb
  2. 範例程式
    tmp=$(curl -s "http://example.com/tab-filename.txt")                                                                                                                         
    if [[ -z $tmp ]]; then # 若是空的就結束                                                                                                                                      
        #echo "empty"                                                                                                                                                            
        exit                                                                                                                                                                     
    fi                                                                                                                                                                           
    k1=$(echo "$tmp" | cut -d $'\t' -f 1)                                                                                                                                        
    k2=$(echo "$tmp" | cut -d $'\t' -f 2)                                                                                                                                        
    k1decode=$(echo "$k1" | urldecode) # 若需要特殊處理                                                                                                                          
    echo $k1 # a                                                                                                                                                                 
    echo $k2 # b                                                                                                                                                                 
    echo $k1decode # a                                                                                                                                                           
    

作者: Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料