linux - 在 for 循环中使用预处理的标准输出,而不创建要从中读取的文件
问题描述
_id state flag pro prio attempt user enqueued age runtime worker name
------------------------ -------- ---- ---- ---- ------- ------ ------------------- ------------------- ----------- ------ --------------------------------
5ef9b05ef491ab1b5b00f356 error .... 0% 000 1/ 1 xxx 2020-06-29 11:11:58 0:16:19 0:01:35 Loader
5ef9b06e9879a928038cce45 error .... 0% 000 1/ 1 xxx 2020-06-29 11:12:14 0:16:03 0:01:21 Loader
我从负责数据管道的系统接收此输出。应使用单个命令重新启动具有“错误”状态的作业。该命令看起来像这样:coco --restart 5ef9b05ef491ab1b5b00f356
,所以这意味着我需要所有 _id´s。
我已经来了这么远:
coco -l | cut -c1-25 | tail -2
5ef9b05ef491ab1b5b00f356
5ef9b06e9879a928038cce45
这给了我正确的 ID。我可以将 id 写入文件,然后逐行读取它们,但仅从中获取 idsdout
会好得多。可以将其通过管道传输到 for 循环中吗?喜欢这个吗?
coco -l | cut -c1-25 | tail -2 | {for i in sdout; do echo "$i"}