gpt4 book ai didi

command-line - 使用命令行查找数据文件的行数

转载 作者:行者123 更新时间:2023-12-04 04:49:16 24 4
gpt4 key购买 nike

有一种常规的方法是逐行读取并检查iostat每次读数都达到非零或负值。但是,我想调用system(command)例行公事和
使用 wc -l命令来计算数量,然后想要分配数组的维度,我想在其中放置数据。例如,我以两种方式打印行数:

Program Test_reading_lines
integer:: count,ios, whatever
character(LEN=100):: command

Print*,'Reading number of lines in a standard way'

count=0
open (10, file='DATA_FILE')
Do
read (10,*,iostat=ios) whatever
if (ios/=0) exit
count=count+1
End Do
close(10)


Print*,'Number of lines =', count



Print*,'Reading number of lines using shell command'

command='cat DATA_FILE | wc -l'
call system(command)

Print*,'Number of lines =','< ? >'


End Program Test_reading_lines

不幸的是,在后一种情况下,我可以分配一个像 count 这样的变量吗?在标准情况下?也就是说,我想打印一个变量而不是 '< ? >'在最后一个打印命令中。

最佳答案

这是不可能的。您可以将命令的输出重定向到一个文件,然后打开它并读取它 http://compgroups.net/comp.lang.fortran/how-to-get-the-output-of-call-system-in-a-v/216294

或者使用 Unix 函数的一些更复杂的功能并调用它的 C API(请参阅该线程中的第一个答案)。

EXECUTE_COMMAND_LINE()也没有任何功能可以直接读取命令的输出。

关于command-line - 使用命令行查找数据文件的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26066854/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com