【发布时间】:2021-08-18 06:20:32
【问题描述】:
我的 bash 脚本有问题。
for b in O B A F G K M
do
u='$n'$b
w='$m'$b
awk -v "j=$u" -v "h=$b" 'BEGIN{printf(" "h" stars: %6d ", j)}'
awk -v "i=$w" 'BEGIN{printf("%"i"s\n", "[]")}' | sed 's/ /[]/g'
done
我需要在 awk 中使用名为“nO”的变量,然后是“nB”等。我的老师建议在 awk 之前将这些值分配给另一个变量,但是当我这样做时,它只会打印“$nO”而不是像“200”这样的值。这个怎么做?我需要类似:awk -v j=$[n$b],所以 j 在第一个循环中被分配变量 nO 的值,然后是 nB 的值。 (这些 nO 或 mO 已经在前面定义过。
【问题讨论】:
-
定义在哪里? How to create a Minimal, Reproducible Example。似乎这根本与 awk 无关:
nO是 shell 变量吗? -
假设它只是存在,我之前定义了nO,nB,nA等变量,现在我只想在awk中使用它们