2013-07-22 2 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, 답장을 보내 주셔서 감사합니다! 너무 오래 전에 실제로 그것을 알아 냈습니다. 나는 while 루프에서 IFS =를 꺼내서 위에 놓았다. 그래도 같은 일을 할 수 있습니다. 무리 감사!! (나는 1 점을 주지만 충분한 명성 점수가 없다.) 다시 한 번 감사드립니다. – Beardy

관련 문제