Acho que você precisa escapar de []
e $
na string, por exemplo:
send_unix_cmd "sort -k$sort_col top_$host | awk '!a\[\$$uni_col\]++' "
Eu também removi o {}
.
Eu sou novo na programação Tcl e UNIX.
O seguinte comando funciona nas linhas de comando do UNIX, mas não funciona em um script Tcl.
$ sort -b -k8 abc.txt | awk '!a[$1]++'
error out for 8 (-k8) and 1($1) is not variable
Estou tentando classificar na Coluna 8 primeiro e e escolher apenas dados exclusivos na coluna 1.
Eu também estou tentando salvar dados em um arquivo.
Acho que você precisa escapar de []
e $
na string, por exemplo:
send_unix_cmd "sort -k$sort_col top_$host | awk '!a\[\$$uni_col\]++' "
Eu também removi o {}
.
Eu acho que para executar o comando no script Tcl
você deve usar exec
. E aspas simples não têm um significado especial no script Tcl
, portanto, ele tentará expandir a variável $1
. Você pode tentar seguir:
exec sort -b -k8 abc.txt | awk {!a[$1]++} > output
Se você não redirecionar a saída padrão do programa, ele se tornará o valor de retorno do comando exec
, para que você possa capturá-lo, por exemplo:
set result [exec sort -b -k8 abc.txt | awk {!a[$1]++}]
Tags tcl