【shell】循環將字符串寫入數組中?


bash shell腳本語法怪異,其他語言循環寫入數組或列表都很簡單實現,或有相應函數來做。

以下用兩種方法來實現:

方法一

c=0
for i in `ls ./Data_Analysis/Quantitation/*-VS-*.xls`;do
    pre=`echo $i |sed 's/.*\///'`                                                                                                   
    filelist[$c]="$pre"
    ((c++))
done

echo $c

for i in ${filelist[@]}
do
    sample=`echo $i | sed 's/.xls//'`
    echo $sample
done

方法二

     filelist=()  
      for i in `ls ./Data_Analysis/Quantitation/*-VS-*.xls`;do
          cp $i ./protein
          sample=`echo $i |sed 's#.*/##' |sed 's/.xls//'`
          filelist+=("$sample")
      done

     echo ${filelist[@]}

    for i in ${filelist[@]};do
        echo $i
    done


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM