我不想只使用awk打印变量值。实际上我想在文件的特定列中打印变量的值。我已经尝试过链接"如何在awk脚本中使用shell变量"
以下是我的要求。
我有两个变量,我想在特定列中打印这些变量的值。我在下面尝试过打印变量的值但它没有给出所需的结果。
awk '$2 = $2 FS "$test" infile
来自链接"如何在awk脚本中使用shell变量"我能理解如何 根据我的要求打印变量值是打印两个值 特定列中的变量。例如,我有两个变量,我需要 在第3列和第4列中打印两个变量的值。
以下是示例。
infile中
2017/03/31-465 17:00:22 01:20:18 Completed 63249705
2017/03/30-490 17:00:19 00:15:17 Completed 12205725
2017/03/29-502 17:00:19 00:15:12 Completed 12108819
2017/03/28-496 17:00:20 00:14:58 Completed 12060389
2017/03/27-487 17:00:24 00:15:29 Completed 11990615
2017/03/26-76 17:00:22 32:05:10 Completed 62974897
2017/03/24-465 17:00:22 01:24:26 Completed 62974897
2017/03/23-494 17:00:16 00:14:30 Completed 11970151
2017/03/22-489 17:00:19 00:14:49 Completed 11923575
2017/03/21-472 17:00:19 00:14:52 Completed 11878081
2017/03/20-463 17:00:20 02:21:25 Aborted 0
2017/03/12-78 17:00:19 32:05:16 Completed 62466091
我有2个变量,我想打印两个变量的值 专栏说3和4。
变量: - test和test2
我尝试使用以下代码。但它打印$test
而不是变量值
测试。当我浏览链接"如何在awk脚本中使用shell变量"和
能够打印变量的值但不能在特定列中打印
的文件。
awk '$3 = $3 FS "$test"' infile
答案 0 :(得分:0)
如果你想在awk中使用shell变量的值,你应该这样做:
$test
如果您直接在awk中使用test
,awk认为它引用了一列,则列索引位于(awk变量)0
中,默认为$0
,这将是f = &s;
(整行)。