저는 GNUplot을 사용하여 데이터 포인트에서 그래프를 생성하고 있습니다. GNUplot은 x 또는 y축 범위, 선 색상 설정 등과 같은 간단한 매개변수/변수가 포함된 간단한 스크립트를 사용합니다. 예를 들어 스크립트 중 하나를 호출하면 다음과 같습니다.
gnuplot script1.gpl
잘 작동하지만 실행하면
gnuplot *.gpl
설정이 한 스크립트에서 다음 스크립트로 전송되면 몇 가지 문제가 있기 때문에 현재 디렉터리의 모든 파일에 대해 실행하는 데 문제가 있습니다. 이는 아마도 gnuplot이 매개변수를 재설정하지 않고 다음 스크립트에서 매개변수를 명시적으로 재정의하지 않으면 설정이 그대로 유지되기 때문일 것입니다. 그래서 find를 사용하여 다른 방식으로 실행해 보았습니다.
find . -name '*.gpl' -exec gnuplot {} \;
그러나 다시 동일한 문제가 있는 결과를 얻습니다. 그래서 나에게 필요한 것은 각 파일에 대해 동일한 명령을 실행하지만 각 파일에 대해 수동으로 호출되는 것과 동일한 방식으로 실행되는 명령입니다.
답변1
find
한 번의 호출로 작동하고 싶습니다 . 중간 파일이 생성되지 않으면 bash(또는 다른 셸) 접두사를 추가하여 하위 셸에서 실행되도록 하는 것이 좋습니다. 또는 다음을 시도해 볼 수 있습니다.
for i in *.gpl
do
( gnuplot "$i" )
done
괄호를 사용하면 서브쉘을 강제로 사용할 수 있지만 꼭 필요하지는 않을 것 같습니다.