2013-07-22 4 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

Смежные вопросы