gnuplot 플로팅 명령에서 bash 스크립트 변수 사용

gnuplot 플로팅 명령에서 bash 스크립트 변수 사용

다른 파일에 저장된 데이터 세트를 플롯하고 싶습니다.

file.txt_100K
file.txt_200K
file.txt_300K

나는 다음 bash 스크립트를 생각해 냈습니다.

  1 #!/bin/bash
  2 
  3 filename=file.txt_
  4 
  5 gnuplot <<- EOF
  6     set term png
  7     set output "plot.png"
  8     plot '"$filename"100K' w lp,\
  9                 '"$filename"200K' w lp,\
 10                 '"$filename"300K' w lp
 11 EOF

스크립트를 실행한 후의 출력은 다음과 같습니다.

         line 0: warning: Cannot find or open file ""file.txt_"100K"
     line 0: warning: Cannot find or open file ""file.txt_"200K"
     line 0: warning: Cannot find or open file ""file.txt_"300K"
     line 0: No data in plot

내 Bash 스크립트의 8, 9, 10행에서 다음이 발생할 것으로 예상합니다.

'"$filename"100K' == 'file.txt_100K'
'"$filename"200K' == 'file.txt_200K'
'"$filename"300K' == 'file.txt_300K'

위에서 원하는 결과를 얻으려면 8, 9, 10행을 어떻게 변경해야 합니까? 미리 감사드립니다.

답변1

맨 페이지에서 bash여기 문서그냥 해

매개변수 확장, 명령 대체 및 산술 확장,

따라서 따옴표가 제거되지 않습니다. 이런 라인을 사용하세요

plot '${filename}100K' w lp,\

관련 정보