2013-07-22 33 views
0

我有一個文件,其中包含多行,有點像日誌。文件中的每一列用逗號分隔。我正在使用數組來回顯輸出的行,但是當我對該文件運行腳本時,它似乎沒有包含逗號。他們在文件中,他們爲什麼不打印?這是我的代碼;任何幫助將不勝感激。謝謝!逗號不與行回聲

while IFS=, read -ra line; 
do 
    if [ "${line[1]}" != "" ] 
    then 
     echo -n "${line[@]}, Hash Value: " && echo "${line[1]}" | openssl dgst -sha1 | sed 's/^.* //' 
    else 
     break 
    fi 
done 

回答

0

嘗試這樣的事情(儘管它會幫助,如果你能提供樣品輸入):

while IFS=, read -ra line; 
do 
    if [ "${line[1]}" != "" ] 
    then 
     (IFS=, ; line="${line[*]}"; echo -n "$line, Hash Value: ") && echo "${line[1]}" | openssl dgst -sha1 | sed 's/^.* //' 
    else 
     break 
    fi 
done 
+0

@JS,感謝您的答覆!我實際上在不久之前就已經想出了它。我只是將IFS =從while循環中取出並放在上面。這雖然會做同樣的事情。感謝一堆! (我會給你一個1,但沒有足夠的聲望點)。再次感謝 – Beardy