2016-03-25 32 views
0

Ich arbeite mit einer Datei.sh, aber ich habe nicht verstanden, was bedeutet zwei Prozent Symbole %0.2f%.Was bedeutet der Parameter% 0,2f% mit zwei Prozent Symbolen in printf

Der Befehl lesen Wert in tmp.err und drucken, nur dies, folgt aussehen:

awk '{ printf("*** Error: %0.2f%\n",substr($2, 2, length($2) - 2) * 100) }' tmp.err 

Die Datei tmp.err haben diese zwei durch Leerzeichen getrennte Werte 11736 (0.17908).

Ich weiß bereits, %0.2f bedeutet einen Gleitkommawert mit zwei Dezimalstellen.

jemand weiß, was macht %0.2f% tun? oder ist ein Tippfehler?

ich diese Frage bin gefragt, denn im Moment bin ich einen Fehler empfängt, nicht genug Argumente übergeben printf ( bu wenn ich den letzten Prozentsatz entfernen wie diese %0.2f gut funktioniert.

dank

+0

wie ein Tippfehler zu mir aussieht. – user2357112

+0

vielleicht ja, was ich merkwürdig finde dieser Befehl funktioniert gut in anderen App die ich heruntergeladen habe. –

Antwort

2

die Tatsache, dass das Argument mit 100 multipliziert wird führt mich, dass wer auch immer zu denken, dass für ein wörtlichen Prozentzeichen bestimmt schrieb, die verdoppelt werden muss.

awk '{ printf("*** Error: %0.2f%%\n",substr($2, 2, length($2) - 2) * 100) }' tmp.err