gpt4 book ai didi

linux - 如何在文件中每一行的开头均匀地添加一组值?

转载 作者:太空宇宙 更新时间:2023-11-04 10:59:54 25 4
gpt4 key购买 nike

我想使用 bash 或 awk 或任何工具来执行以下操作。我有一个看起来像这样的文件:

/exec/proc1 ...
/exec/proc1 ...
/exec/proc1 ...
/exec/proc1 ...
/exec/proc1 ...
/exec/proc1 ...

如果我说 3,即 (0, 1, 2),我想生成如下文件:

export DEVICE_ID=0; /exec/proc1 ...
export DEVICE_ID=0; /exec/proc1 ...
export DEVICE_ID=1; /exec/proc1 ...
export DEVICE_ID=1; /exec/proc1 ...
export DEVICE_ID=2; /exec/proc1 ...
export DEVICE_ID=2; /exec/proc1 ...

然后我将其通过管道传输到 shuf 中,这将使行随机化。这是跨多个 CUDA GPU 设备进行负载平衡的穷人解决方案。

最佳答案

使用 awk 你可以做:

awk -v n=3 '{print "export DEVICE_ID=" (NR-1)%n "; " $0}' file
export DEVICE_ID=0; /exec/proc1 ...
export DEVICE_ID=1; /exec/proc1 ...
export DEVICE_ID=2; /exec/proc1 ...
export DEVICE_ID=0; /exec/proc1 ...
export DEVICE_ID=1; /exec/proc1 ...
export DEVICE_ID=2; /exec/proc1 ...
export DEVICE_ID=0; /exec/proc1 ...
export DEVICE_ID=1; /exec/proc1 ...
export DEVICE_ID=2; /exec/proc1 ...
export DEVICE_ID=0; /exec/proc1 ...

关于linux - 如何在文件中每一行的开头均匀地添加一组值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27383977/

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