2011-08-05 9 views
1

VARIの値を同じ行に続けてカンマで印刷しようとしていますが、これらの値のcsvファイルを保存できますが、予想 VARI = 'cat filename | head -1 | cut -d, -f${i}'シェルスクリプト、コマンド値を変数に保存

i=0 
while ((i<130)) ; 
do 
    if [[ $i -eq 1 || $i -eq 9 || $i -eq 12 || $i -eq 23 || $i -eq 25 || $i -eq 29 ]] 
    then 
    VARI = 'cat filename | head -1 | cut -d, -f${i}' 
    echo "$VARI ," 
    fi 
    let i=$i+1; 
done 

出力の値は

4,abc,5,8,xyz,9 

である私は、感謝を間違ってやっているものを教えてください!

+0

私は引用符を戻す方法がわかりません。しかし、 'VARI'の行には、 – badawi

+0

@badawiが戻ってきます。試してみました。動作しません.first.sh:8行目:VARI = cat filename | | cut -d、-f $ {i}:コマンドが見つかりません – learner

+0

@badawi: 'VARI = \' cat filename | | cut -d、-f $ {i} \ '' :) – knittl

答えて

6

使用のバッククォート(または$() - 入れ子にすることができます)ではなく、単一引用符:

VARI=`cat filename | head -1 | cut -d, -f${i}` # or: 
VARI=$(cat filename | head -1 | cut -d, -f${i}) 
+0

first.sh:行8:VARI:コマンドが見つかりません。 – learner

+0

@learner:VARI( 'VARI = ...')の後のスペースを削除してみてください – knittl

+0

恐ろしく..ありがとう! ..そのような愚かな間違い!..空間の重要性を認識していない;) – learner

関連する問題