tutorial print examples ejemplos awk grep character tcl

awk - print - tcl caracteres adicionales después de llaves



awk print (1)

Según la página man de exec (n), debe reemplazar las comillas simples por llaves. También necesita [] alrededor del exec para invocarlo:

set size [exec curl -s -3 --ftp-ssl -k {ftp://xxx:[email protected]:2300/source/} | grep //.r | awk {{print $5}} | awk {{ SUM += $1} END { print SUM/1024/1024 }}]

Dicho esto, no es necesario invocar grep o awk en absoluto. Todo lo que haga con ellos aquí se puede lograr dentro del código Tcl:

proc exact {nick host handle channel text} { global db_handle network; set status 0 set error [catch { set resp [exec curl -s -3 --ftp-ssl -k {ftp://xxx:[email protected]:2300/source/}] } results options] if {$error} { set details [dict get $options -errorcode] if {[lindex $details 0] eq "CHILDSTATUS"} { set status [lindex $details 2] putnow "PRIVMSG $channel :curl error $status" } } set size 0 foreach line [split $resp /n] { if {[string match {*//.r*} $line]} { incr size [lindex $line 4] } } putnow "PRIVMSG $channel :source has [expr {$size/1024/1024}]" }

(Supongo que te #chnnel $channel lugar de a #chnnel ).

Tengo este error Tcl error: caracteres adicionales después de llave cerrada

proc exact {nick host handle channel text} { global db_handle network; set size exec curl -3 --ftp-ssl -k ftp://xxx:[email protected]:2300/source/ | grep //.r | awk ''{print $5}''| awk ''{ SUM += $1} END { print SUM/1024/1024 }'' putnow "PRIVMSG #chnnel :source has $size" }