gpt4 book ai didi

linux - 如何在shell中添加序列号

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

我想在下面的打印语句中添加序列号。

for i in 1 5 20 50 100 200 500 1000;do
#I have here some computations for each i, finally mean_${i}=xyz
#for example
mean_1=10.42
mean_5=12.43
mean_20=25.34
mean_50=59.34
mean_100=150.32
mean_200=378.43
mean_500=697.45
mean_1000=1233.54
printf "%5s %10s %10s\n" sl.No. "$i" "mean_${i}" >> ofile.txt
done

我无法添加序列号。

期望的输出

ofile.txt
1 1 10.42
2 5 12.43
3 20 25.34
4 50 59.34
5 100 150.32
6 200 378.43
7 500 697.45
8 1000 1233.54

最佳答案

假设您的意思是“行号”——NR 是指 awk 中的当前行号;然而,虽然 awk 经常在 shell 中使用,但它是具有自己语法的独立编程语言。

维护一个显式计数器是典型的做法,如下面的 ln 示例:

mean_1=10.42
mean_5=12.43
mean_20=25.34
mean_50=59.34
mean_100=150.32
mean_200=378.43
mean_500=697.45
mean_1000=1233.54

ln=0
for i in 1 5 20 50 100 200 500 100; do
meanvar=mean_$i
printf '%5s %10s %10s\n' "$((++ln))" "$i" "${!meanvar}"
done

关于linux - 如何在shell中添加序列号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41627689/

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