shell按行從檔案讀取, 分割成陣列
阿新 • • 發佈:2019-01-29
cut -d 如果找不到分割符號, 就會輸出原字串,無聊-f後面是什麼,加-s就什麼都不輸出了
#!/bin/bash # 從檔案中按行讀取,每行分割成字串, 形成陣列# j=0 while read line do i=1 while : do str=` echo $line | cut -d ":" -f $i ` #echo $i, $str if [ "$str" == "$line" ];then arr[j]=$str break elif [ "$str" != "" ];then arr[j]=$str else break fi i=$(($i+1)) j=$(($j+1)) done done < a.txt # 陣列遍歷方式 # for a in ${arr[@]};do echo $a done echo "---------- c for each --" for((i=0;i<${#arr[@]};i++));do echo $i, ${arr[$i]} done # 2 # echo "======== w2" while read line do arr2=` echo "$line" | tr ':' ' ' | tr -s ' ' ` done < a.txt for((i=0;i<${#arr2[@]};i++)); do echo $i, ${arr2[$i]} done echo "========seq" for item in ${arr2[@]};do echo $item done