我想编写一个bash脚本来复制文本文件中的一个值。在文本文件中,我有一些reapeated线。示例:
WIN [err]: fe I:35 A Q:24.17 si: 4554 INT:55.90 CA Mn A:61.00 B:44.45 INT:42.06
WIN [err]: fe P:880 A Q:26.89 si: 325 INT:12.12 CA Mn A:57.62 B:44.11 INT:39.56
some text line
some text line
"Line that i want to copy value:" WIN [err]: fe P:870 A Q:26.89 si: 325 INT: 5.5 CA Mn A:57.62 B:44.11 INT:39.06
dec 2000 frs, 30.8 fs, 2029.95 ms/s
现在我想显示INT值ex:39.06,该值存在于此行“我要复制值的行:”中。请考虑来自的说明行 “WIN [错误] .....”我是shell脚本的新手。因为我修改了我的文本文件。现在我们看到字符串“INT:也存在于其他一些行中。 有人可以帮忙吗? 感谢
答案 0 :(得分:2)
我认为你不想要“倒数第二行”。我相信你要求匹配WIN的最后一行中的值(在你给出的例子中,这些是等价的。)
awk '/^WIN/ {v=$NF } END {split(v,a,":"); print a[2]}' input
答案 1 :(得分:0)
可能这可行:
awk -F'[: ]+' '$1=="WIN"{a=$NF} END {print a}' RS='[\r\n]+' file.log