端末で fortran77 プログラムを実行します。
./program
そしてプログラムには入出力ファイルが必要です。ファイルに入力ファイルと出力ファイルの名前がある場合(2つの列に分割されている)、端末に何を書くべきですか?ファイルに名前があるすべての行でこのプログラムを実行したいと思います。
または - パラメータなどの入力情報を使用してプログラムを実行する方法は?
または、スクリプトに直接ファイル名を書き込む方法はありますか?変える
READ(+,'(A)') OUT
ベストアンサー1
次のプログラムファイルを作成しました。prog.f
program test
character IN*30,OUT*30,line*80
PRINT *,'Input file '
READ(*,'(A)') IN
OPEN(1,FILE=IN,STATUS='OLD')
PRINT *,'Output file?'
READ(*,'(A)') OUT
OPEN(2,FILE=OUT,STATUS='NEW',BLANK='ZERO')
read (1,'(a80)') line
write (2,*) "I read ", line
end
コンパイルしてリンクする
gfortran prog.f -o prog
入力ファイルにテキスト文字列を入れました。
echo "Hello World" > in
in
out
その後、プログラムに入出力ファイルの名前を送信します。
$ <<< 'in
out' ./prog
Input file
Output file?
そして、出力ファイルを確認してください
$ cat out
I read Hello World
<<<
で動作します。よりポータブルなパイプをbash
好むかもしれません。echo
$ rm out
rm: remove normal file 'out'? y
$ echo 'in
out' | ./prog
Input file
Output file?
$ cat out
I read Hello World