2017-12-18 9 views
1

파일을 읽고 perl 스크립트의 입력으로 해당 파일의 열을 사용하는 쉘 스크립트를 작성하고 싶습니다. perl 스크립트는 파일 (number1, number2)을 거치며 ID를 추출하여 새 파일에 기록합니다. 그러나 내가 명령 줄과 함께 사용하면 perl 스크립트가 잘 작동하지만 내 질문은 perl 스크립트의 input_file에 변수를 사용하는 쉘 스크립트를 작성하는 방법입니다.파일에서 변수를 읽고 그것을 펄 스크립트에서 사용하는 쉘 스크립트

내 INPUT_FILE는

number1 ID1 
number2 ID2 

처럼 보인다 그리고

#!/bin/bash 

input_file="$1" 

while IFS=" " read -r number ID 
do 
    perl extract.pl $ID $number.ext > $number_ID.ext 
done < "$1" 
+1

제발 봐 : http://www.shellcheck.net/ – Cyrus

+0

위대한 사이트, 나는 그것을 몰랐다. 감사! – Gravel

답변

2

함께

$number_ID.ext 

교체 (그래서이 함께 도와주세요 작동하지 않습니다) 다음 쉘 스크립트를 사용하여

${number}_ID.ext 

_은 변수 이름에 허용되는 문자입니다. 이것이 bash가 $number_ID을 찾고있는 이유입니다. .은 허용되지 않습니다.

+0

아마도'input_file'이 할당되었지만 사용되지 않았다는 것을 지적했을 것입니다 (예 : http://shellcheck.net/). – tripleee