gpt4 book ai didi

linux - 对文本文件中的每个 id 运行命令

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:56:55 26 4
gpt4 key购买 nike

我有一个包含 ID 列表的文本文件,如下所示,我需要对每个 ID 运行以下命令,在 awk 中有更简单的方法吗?

ssh -p 29418 company.com gerrit review --code-review 2 -- file.txt

file.txt 包含以下内容:

297003
297002
297001
...

只要 file.text 中存在 id,就应该运行以下命令

ssh -p 29418 company.com gerrit review --code-review 2 -- 297003
ssh -p 29418 company.com gerrit review --code-review 2 -- 297002
ssh -p 29418 company.com gerrit review --code-review 2 -- 297001
.....

最佳答案

Awk 不是我想要的工具。我建议 xargs :

xargs -I% -n1 < file ssh -p 29418 company.com gerrit review --code-review 2 -- %

% character 是用 -I 设置的替换字符串选项但是因为替换在命令的末尾,在这种情况下不需要明确声明为 xargs默认情况下简单地附加到末尾:

xargs -n1 < file ssh -p 29418 company.com gerrit review --code-review 2 --

一个技巧是使用 echo命令在实际运行之前查看输出:

# -------------- notice we run echo not ssh to see the output before we rut it 
xargs -n1 < file echo ssh -p 29418 company.com gerrit review --code-review 2 --
ssh -p 29418 company.com gerrit review --code-review 2 -- 297003
ssh -p 29418 company.com gerrit review --code-review 2 -- 297002
ssh -p 29418 company.com gerrit review --code-review 2 -- 297001

没有 -n1选项 xargs将根据 gerrit 的用法传递所有可能对这种特定情况有用或可能无用的值。 :

xargs < file echo ssh -p 29418 company.com gerrit review --code-review 2 -- 
ssh -p 29418 company.com gerrit review --code-review 2 -- 297003 297002 297001

关于linux - 对文本文件中的每个 id 运行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16243757/

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