小编cas*_*cas的帖子

使用 rustdoc 生成降价文档?

有没有办法从///评论中在 doc/ 中生成单个降价文件?

多个降价文件(doc/main.mddoc/foo.md等)也很好。

我是 Rust 的新手,虽然生成的 HTML 文档很好,但我主要使用命令行,真的不想为了阅读文档而在我的终端和 Web 浏览器之间切换。这打破了流程并使我离开了区域。此外,md 很容易转换为手册页,或转换为 TeX 以用于打印或 PDF 文档。

(我已经习惯了中止与按Ctrl-Z的vim或者使用其他终端选项卡,并运行manperldocpydoc等文本模式浏览器,如lynx,也不links是我不擅长的选项-导航显得笨拙,输出是对我的200多列丑如果我忘记使用该-width选项,则终端窗口不支持 javascript)

rustdoc

9
推荐指数
1
解决办法
294
查看次数

在awk中预先填充关联数组键?

我写了一个munin插件,它使用slurm的sacct来监视HPC集群上的作业状态.我用sh + awk编写了它(而不是我常用的工具,perl).

该脚本有效,但我花了很多时间才弄清楚如何预先填充可能状态的关联数组(一些/大多数可能不存在于sacct输出中,我希望它们默认为零).谷歌没有多大帮助,我能想到的最好的就是在字符串上使用split来生成一个临时数组,然后我迭代了.

我想出了这个:

BEGIN {
    num = split("cancelled completed completing failed nodefail pending running suspended timeout",statenames," ");
    for (i=1;i<=num;i++) {
        states[statenames[i]] = 0
    }
  }
Run Code Online (Sandbox Code Playgroud)

这可行,但与我在perl中的方式相比看起来很笨拙,如下所示:

foreach (qw(cancelled completed completing failed nodefail pending running suspended timeout)) {
    $states{$_} = 0;
}
Run Code Online (Sandbox Code Playgroud)

或这个

%states = map {$_ => 0} qw(cancelled completed completing failed nodefail pending running suspended timeout);
Run Code Online (Sandbox Code Playgroud)

我的问题是:有没有办法在awk中执行此操作,类似于任何一个perl版本?

[编辑]

澄清一下,这是一个我输入awk的sacct输出样本.请注意,此输出中的唯一状态是RUNNING,COMPLETED和CANCELED - 其他状态不存在(因为它们今天没有出现),但我仍然希望它们在我的脚本输出中(以munin可用的形式表示为" statename.value 0").

# sacct -X -P -o 'state' -n
RUNNING
RUNNING
RUNNING
RUNNING
COMPLETED
RUNNING
COMPLETED …
Run Code Online (Sandbox Code Playgroud)

awk associative-array

4
推荐指数
1
解决办法
3162
查看次数

标签 统计

associative-array ×1

awk ×1

rustdoc ×1