“没有足够的论据,以满足格式字符串”的错误我创建了一个脚本,从我们的Unix服务器获取数据,但我得到了以下错误:AWK:脚本
awk: cmd. line:8: (FILENAME=- FNR=2) fatal: not enough arguments to satisfy format string
`|%-17s|%-16s|%-15s|'
^ran out for this one
下面是完整的脚本:
#!/bin/sh
export TERM=xterm
ipath=/usr/local/nextone/bin
date=$(date +"%Y%m%d%H%M")
ifile="$(date '+/var/EndpointUsage_%I-%M-%p_%d-%m-%Y.csv')"
"$ipath"/cli iedge list | awk '
BEGIN { print "|-----------------|------------------|------------------|";
printf "|%-18s|%-17s|%-16s|\r\n","Registration ID", "Port", "Ongoing Calls"
}
/Registration ID/ { id = $3; next }
/Port/ { port = $3 ; next }
/Ongoing Calls/ {print "|-------------------|-----------------|------------- -----|";
printf "|%-18s|%-17s|%-16s|\r\n",id,port,$3 }
END{
print "|------------------|------------------|------------------|";
}'>> "$ifile"
任何人都可以请帮助我,我该如何解决这个错误?
更改后列显示正确,但Port
列没有任何数据。它应该有0或者其他端点有1个2端口号。
|-----------------|------------------|------------------|
|Registration ID |Port |Ongoing Calls |
|-------------------|-----------------|------------------|
|-------------------|-----------------|------------------
|CC_XXXXXX_01_0 | |174 |
|-------------------|-----------------|------------------|
你问了一个问题,你得到了[答案](http://stackoverflow.com/a/41192985/1745001)。现在你已经遇到了你的下一个问题,你已经改变了你的问题,直到它与你的原始问题和相关答案无关,并且现在正在寻求这个完全不同的新问题的帮助。不要这样做。把这个问题放回到它的开始,标记你接受的答案,并发布一个新的问题,如果你必须,但首先要自己解决它。 –
我同意@EdMorton。问一个不同的问题实际上会更好,链接到这个问题,以便未来的读者能够从特定问题的特定答案中受益。查看[tour](https://stackoverflow.com/tour)以获取更多有用的提示。另外,在您的新问题中,请显示输入文件,代码,输出结果以及您期望的输出结果 - 这样您可以更快速地获得更高质量的答案。谢谢! – cxw