Ich habe ein Skript „nicht genügend Argumente Format-String zu erfüllen“, um die Daten aus unserem Unix-Server zu packen, aber ich bin mit dem folgenden Fehler bekommen:awk: Fehler in Skript
awk: cmd. line:8: (FILENAME=- FNR=2) fatal: not enough arguments to satisfy format string
`|%-17s|%-16s|%-15s|'
^ran out for this one
Im Folgenden finden Sie die komplette Skript :
#!/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"
Kann mir bitte jemand helfen, wie kann ich diesen Fehler beheben?
NACH ÄNDERUNGEN werden die Spalten korrekt angezeigt, aber die Spalte Port
enthält keine Daten. Es sollte 0 haben oder wenn ein anderer Endpunkt 1 oder 2 Port-Nummer hat.
|-----------------|------------------|------------------|
|Registration ID |Port |Ongoing Calls |
|-------------------|-----------------|------------------|
|-------------------|-----------------|------------------
|CC_XXXXXX_01_0 | |174 |
|-------------------|-----------------|------------------|
Sie haben eine Frage gestellt, Sie haben [die Antwort] (http://stackoverflow.com/a/41192985/1745001). Jetzt, wo du dein nächstes Problem gefunden hast, hast du deine Frage so geändert, dass es in Bezug auf deine ursprüngliche Frage und die damit verbundene Antwort keinen Sinn mehr macht und nun um Hilfe bei diesem ganz anderen, neuen Problem bittet. Tu das nicht. Setzen Sie diese Frage zurück, wie es angefangen hat, markieren Sie die Antwort, die Sie erhalten haben, und geben Sie eine neue Frage ein, wenn Sie es tun müssen, aber versuchen Sie zuerst, es selbst zu lösen. –
Ich stimme @EdMorton zu. Es ist eigentlich besser, eine andere Frage zu stellen, die mit diesem verlinkt ist, so dass zukünftige Leser von spezifischen Antworten auf spezifische Fragen profitieren können. Weitere nützliche Tipps finden Sie in der [Tour] (https://stackoverflow.com/tour). Außerdem sollten Sie in Ihrer neuen Frage die Eingabedatei, den Code, die ausgegebene Ausgabe und die erwartete Ausgabe anzeigen. Auf diese Weise erhalten Sie schneller qualitativ hochwertige Antworten. Vielen Dank! – cxw