bash에서 gnuplot을 사용하여 데이터를 플롯하기위한 스크립트를 사용하고 있습니다. 그러나 그것은 효과가 없습니다.
데이터를 명령 행에 전달하는 프로그램이 있습니다. 파일에 해당 데이터를 수집 한 다음이 프로세스를 반복하여 원하는 결과를 얻습니다. 나는 기본적으로 내가 그것의 내용을 변경, 파일에서의 gnuplot 텍스트를 포맷하지만 파일의 이름을 변경하지 않고 던져, 그래서이 스크립트
N = 10
./program.exe > data_$N.dat # Creating the data to be plotted
for ((i = 0 ; i<1 ; i++)) do # Dummy loop to throw all together to gnuplot
echo "set size square"
echo "set xrange[-$N-1:$N+1]; set yrange[-$N-1:$N+1];"
echo "plot '-' using 1:2"
for((j = 0 ; j <= 9 ; j++)) do
# Throwing the data to gnuplot
echo "cat data_$N.dat"
# Updating the file and overwriting on it
echo "cat data_$N.dat | xargs ./program.exe > data_$N.dat" | bash
echo "e"
echo "pause 0.5"
done
done | gnuplot -persist # Throwing the formatted data to gnuplot
을 말해봐.
물론이 파일의 해당 단계에 해당하는 계산을 수행하고 파일을 업데이트 된 데이터로 덮어 쓰기 때문에 파일 이름을 변경하고 싶지 않습니다. 버퍼의 종류. 계산 흐름은
./program.exe > data.dat # Making the initial data
begin gnuplot loop
throw data to gnuplot
"cat data.dat | xargs ./program.exe > data.dat" # update data overwriting file
end gnuplot loop
pipe all the script to gnuplot
호프가 분명하고 도움이 될 수 있습니다 :). 감사!
PD. 나는 물리학 자야.
하지만 이상한데 ... 껍데기가 서면 명령을 따르지 않아? – stringparser
쉘은이 명령을'PROGRAM | PROGRAM> FILE'을 선택하십시오. 셸의 역할은 파이프를 만들어 두 프로그램을 연결하고 최종 출력 파일을 여는 것입니다. 그런 다음'PROGRAM'을 실행하여 파이프/파일을 입력/출력으로 상속받습니다. 파이프 라인의 모든 요소는 동시에 실행됩니다. –