2017-05-18 6 views
0

CSV의 내용을 읽고 쉘 스크립팅을 사용하여 다른 함수로 전달하려고합니다. 필자는 쉘 스크립팅에 익숙하지 않으며이를 수행하는 방법을 알 수 없습니다.CSV에서 값 읽기 및 다른 함수로 전달 [쉘 스크립팅 사용]

ConvertedCSVpath="/home/test/Desktop/Outfile.csv" 

    converttoCSV() 
    { 
    for i in /home/test/repos/pgp-automation/TestSuite/Suite1495088054448/Outfile.xlsx; 
    do libreoffice --headless --convert-to csv "$i" ; 
    done 
    IFS=, 
    while read Tstcase OrderID MID 
    do 
     echo "Testcase: -> $Tstcase" 
     echo "OrderID: $OrderID" 
     echo "ID: $MID" 
    done < $ConvertedCSVpath 
    } 
그것은 내가 OrderID를을에 의해 PassVariable 기능 하나를 사용할 필요가

TestCase_002-, 1495088066891, atoRef79606157945546 TestCase_002,218271828172187, C192819821981

PassVariable() 
    { 
    echo The order ID is $OrderID 
    } 

    converttoCSV 
    PassVariable 

파일을 CSV로 변환했다

하나. 즉, 먼저 1495088066891을 가져와 PassVariable에 전달한 다음 218271828172187을 PassVariable에 전달하고 인쇄하십시오. 어떻게해야합니까?

답변

0

당신이 무엇을 시도하는지 이해할 수는 없지만 매개 변수가있는 bash 함수를 호출하는 방법과 호출 된 함수에서이를 사용하는 방법은 다음과 같습니다.

PassVariable() { 
    echo $1 # Print first parameter 
} 

PassVariable "$OrderID" 

는 더 많은 정보를 위해 이것을 참조 : 나는 그것을 알아 낸 Passing parameters to a Bash function

+0

. 이 경우에는 awk에 IFS 및 While 루프를 사용하는 것이 좋습니다. 어쨌든 고마워. :) –