我正在尝试从文件中读取数据:
test_50rg0_shear0.01_fric0.5.dat
test_50rg1_shear0.01_fric0.5.dat
test_50rg2_shear0.01_fric0.5.dat
在Fortran代码中,然后使用第二列的数据。我的代码是
do i=0,2
write(filename_i,'(a,i1,a)')'../test_50rg',i,'_shear0.01_fric0.5.dat
write(filename_o,'(a,i1,a)')'../dist_50rg',i,'_shear0.01_fric0.5.dat'
call system("awk '{print $2}' filename_i > filename_o")
.......
end do
为此我收到错误:
awk:cmd。 line:1:致命:无法打开文件`filename_i'进行阅读(没有这样的文件或目录)
请告诉我为什么会出现这样的错误以及任何其他方法来完成这项工作。
答案 0 :(得分:1)
您正在传递文字字符串" filename_i"如Klitos所述,当您需要传递变量时要awk。
您应该使用:
call system("awk '{print $2' "//trim(filename_i)//" > "//trim(filename_o))
//
命令连接字符串。