【发布时间】:2019-01-24 02:26:44
【问题描述】:
虽然 i 设置为 1,但为什么要打印整个文件而不是特定条件?
请展示我的例子
oracle@localhost% i=1
oracle@localhost% cat listener.tmp | awk '{print $1 } '
LISTENER_BIL
oracle@localhost% cat listener.tmp | awk '{print $2 } '
LISTENER_AP
oracle@localhost% cat listener.tmp | awk '{print $i } '
LISTENER_BIL LISTENER_AP
oracle@localhost% echo $i
1
谢谢 乌扎尔
【问题讨论】:
-
这不是 BASH 变量在
awk中的工作方式,您应该尝试一次i=1;awk -v val="$i" '{print $val }' listener.tmp。此外,您不需要将cat与可以读取文件本身的awk程序一起使用,所以我也将其删除了。 -
@UzzalBasak :在您的代码中,您设置了变量
i,但您没有在任何地方使用它。另外,您在谈论一些“特定条件”,但我在您的代码中看不到任何条件。