Como alterar o idioma do comando date?

3

Estou usando vnstat junto com conky . Para mostrar o tráfego mensal, estou misturando vnstat e grep para encontrar o mês. O comando para coletar os dados é

${execi 3600 vnstat -m -i wlan0 | grep "$(date "+%h")" | awk '{print $3 $4}'}

mas o problema é que vnstat retorna o mês em inglês (dezembro para dezembro) e date retorna em português (Dez para Dezembro).

Então meu comando não está funcionando para o tráfego mensal. Qualquer ajuda?

    
por Sigur 12.12.2012 / 01:11

2 respostas

5

Você precisa exportar LANG para date . Assumindo que execi invoca um shell compatível com POSIX para fazer o trabalho pesado (nota: não sei se isso acontece ou não, sua milhagem pode variar), algo como o seguinte deve funcionar:

${execi 3600 vnstat -m -i wlan0 | grep "$(LC_ALL=C date "+%h")" | awk '{print $3 $4}'}
    
por 12.12.2012 / 01:18
2

Para executar um comando em um modo não incomodar-me-sobre-localidades, defina a variável de ambiente LC_ALL . Isso substitui todas as configurações de localidade. O locale não incomodar-me é chamado C (ou POSIX , eles são sinônimos).

export LC_ALL=C; vnstat -m -i wlan0 | grep "$(date "+%h")" | awk '{print $3 $4}'

Isso define todas as mensagens de erro para inglês, todas as datas para datas nos EUA, classificação para ordem de bytes e caracteres imprimíveis para ASCII.

Consulte defina LC_ *, mas não LC_ALL para mais detalhes.

    
por 13.12.2012 / 03:17

Tags