Para salvar a saída de um comando em uma variável, você deve colocar o comando no backtics ( 'command'
) ou, melhor, em $()
( $(command)
). Você está usando aspas simples, o que significa que você está salvando a string wc $FILE
e não está realmente executando wc
:
$ foo='wc /etc/fstab' ## WRONG
$ echo $foo
wc /etc/fstab
$ foo='wc /etc/fstab' ## RIGHT
$ echo $foo
23 96 994 /etc/fstab
$ foo=$(wc /etc/fstab) ## RIGHT
$ echo $foo
23 96 994 /etc/fstab
Além disso, para obter apenas as palavras e não o número de caracteres e linhas, use a opção -w
:
$ foo=$(wc -w /etc/fstab)
$ echo $foo
96 /etc/fstab
Finalmente, para obter o número sozinho, sem nome de arquivo, você pode usar:
$ foo $(wc -w /etc/fstab | cut -d ' ' -f 1 )
$ echo $foo
96