Linux 於 Bash Shell 如何將檔案內的內容切割到每個變數,或者如何撈外部 API 的內容,並 assign 到每個變數去?
Bash Shell 如何接收並切割字串
先對一個檔案,內容用空格分隔的三個參數
- cat filename
a b c - k1=$(cat filename | cut -d' ' -f 1)
- k2=$(cat filename | cut -d' ' -f 2)
- echo $k1
a - echo $k2
b
若抓遠端檔案 並 使用 tab 分隔
- cat tab-filename.txt # a [tab] b 遠端檔案 a\tb
- 範例程式
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