簡體   English   中英

在heredoc中使用時,如何轉義awk的內置變量

[英]How do I escape awk's built-in variables when used within heredoc

以下是我嘗試執行的命令:

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?

在外殼程序中,反斜杠\\可用於引用,例如... print "Count:" \\$NR; ... ... print "Count:" \\$NR; ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM