我有一個csv文件,即時通訊嘗試循環,目的是要找出是否在csv數據中找到用戶輸入。我寫了下面的代碼,有時可以使用,其他代碼不可以。當我試圖比較2位數字時,它總是停止工作。它適用於數字1到9,但是一旦你輸入說56或99或100,它就停止工作。CSV Bash循環問題與變量
csv數據是逗號分隔的,我有大約300行他們就是這樣。
1,John Doe,Calculus I,5.0
1,John Doe,Calculus II,4.3
1,John Doe,Physics II,3.5
2,Mary Poppins,Calculus I,3.7
2,Mary Poppins,Calculus II,4.7
2,Mary Poppins,Physics I,3.7
數據就像這樣,直到ID#100爲止,總共有300行。 sh文件和csv文件都在同一個文件夾中,我使用全新安裝的Ubuntu 12.04.3,使用gedit作爲文本編輯器。
我試着迴應變量ID和IF條件內,但它不會像測試相同的值時那樣運行。有人能指出我正確的方向嗎?由於
下面的代碼:
#s!/bin/bash
echo "enter your user ID";
read user;
INPUT_FILE=notas.csv
while IFS="," read r- ID name asignature final;
do
if [$ID = $user]; then
userType=1;
else
userType=2;
fi
done < notas.csv
你的意思是' - r',而不是'r'。 –