首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用awk和正则表达式检查许可证?

使用awk和正则表达式检查许可证?
EN

Stack Overflow用户
提问于 2015-03-30 22:12:48
回答 1查看 98关注 0票数 1

我向我校的SGE批处理引擎提交作业,并正在运行一个名为COMSOL的程序,该程序的许可证数量有限,无法在给定的时间运行。当我提交一份工作时,它会排一段时间队,直到轮到我。如果使用了所有COMSOL许可证,我的工作就会立即退出,我必须重新提交它,可能要等几天才能再次尝试。我想避免那样做。我为一个程序创建了一个别名(comsollicense),该程序输出COMSOL及其不同模块的所有许可。其中有一条看起来像这样的线条:

代码语言:javascript
复制
Users of COMSOL:  (Total of 7 licenses issued;  Total of 7 licenses in use)

输出中还有其他类似的行:

代码语言:javascript
复制
Users of WAVEOPTICS:  (Total of 2 licenses issued;  Total of 0 licenses in use)
Users of CHEM:  (Total of 2 licenses issued;  Total of 2 licenses in use)
etc....

在我的SGE作业脚本中,我希望选择以“COMSOL的用户”开头的行,并将所使用的许可证数量与颁发的数量进行比较。如果它们是相同的号码,我希望它等待,稍后再检查,当有可用的许可证时,我希望我的COMSOL运行。我在想:

代码语言:javascript
复制
awk '{
    comsollicense
    SOME CODE HERE TO EXTRACT numIssued AND numUsed
    while (numIssued == numUsed){
        sleep 300
        comsollicense
        CODE TO EXTRACT numIssued AND numUSED
    }
}'
comsol -inputfile test.mph

这是否一个适当的方法?我在想,我可以在那里使用正则表达式,但我不太熟悉如何编写正则表达式。如何提取颁发的许可证数量和正在使用的数量?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-30 22:46:46

打印已颁发许可证的编号:

代码语言:javascript
复制
awk '/COMSOL/ { print $6; }'  comsollicense

打印正在使用的许可证数量:

代码语言:javascript
复制
awk '/COMSOL/ { print $11; }'  comsollicense

您可以在shell脚本中使用这个。希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29357285

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档