【发布时间】:2019-03-20 09:30:31
【问题描述】:
我想使用带有数千个输入文件的程序 Arlsumstat_64bit 进行分析。
Arlsumstat_64bit 读取输入文件 (.arp) 并写入结果文件 (sumstat.out)。
每个输入都将根据参数“0 1”在结果文件 (sumstat.out) 上附加新行
因此,我编写了一个 shell 脚本来执行同一文件夹中的所有输入 (*.arp)。
但是,如果输入文件包含错误,shell 脚本将被卡住而没有任何后续处理。因此,我找到了一个带有“超时”的命令来处理我的问题。
我做了一个shell脚本如下
#!/bin/bash
for sp in $(ls *.arp) ;
do
echo "process start: $sp"
timeout 10 arlsumstat_64bit ${sp}.arp sumstat.out 1 0
rm -r ${sp}.res
echo "process done: $sp"
done
但是,我仍然需要知道哪些输入文件失败了。 如何制作一个列表来告诉我哪些输入文件是“超时”的?
【问题讨论】:
-
建议改进:使用
for sp in *.arp而不是使用ls的输出。$sp将包括.arp,所以它可能应该是arlsumstat_64bit ${sp} sumstat.out 1 0和rm -r ${sp%.arp}.res。