gpt4 book ai didi

linux - 在 heredoc 中使用时如何转义 awk 的内置变量

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

以下是我要执行的命令:

while read api; do
echo $api
ssh username@ip <<ENDSSH
grep $api /myserver/logs/server.log | awk '{print $8}'| sort -n | awk 'BEGIN{i=0} {s[i]=$1; i++;} END{print "=== PERCENTILES ==="; print "50: " s[int(NR*0.50-0.5)]; print "70: " s[int(NR*0.70-0.5)]; print "80: " s[int(NR*0.80-0.5)]; print "90: " s[int(NR*0.90-0.5)]; print "95: " s[int(NR*0.95-0.5)]; print "99: " s[int(NR*0.99-0.5)]; print "100: " s[int(NR-1)]; print "Count:" NR; print "==================="}'
ENDSSH
done <apiList >output.out

我想在远程主机上为多个 api 运行它,并在本地的输出文件中收集输出。文件列表存储在本地。

最初我使用的是 <<'ENDSSH' 然后 $api 没有得到评估。现在我把它改成 <

如何告诉远程主机评估NR?

最佳答案

在 shell 中,反斜杠 \ 可以用来引用,例如...打印“计数:”\$NR; ...

关于linux - 在 heredoc 中使用时如何转义 awk 的内置变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42481106/

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