who -b | sed 's/.* //' >> file.txt
funciona para todas as localidades instaladas no meu sistema (veja o teste abaixo), basicamente ele exclui tudo até a última ocorrência de dois caracteres de espaço sucessivos, que devem corresponder ao início do registro de data e hora, independentemente das configurações de localidade.
$ for i in $(locale -a); do printf "%-10s: %s\n" $i "$(LANG=$i who -b | sed 's/.* //')"; done
C : Sep 23 20:22
C.UTF-8 : 2017-09-23 20:22
de_AT.utf8: 2017-09-23 20:22
de_BE.utf8: 2017-09-23 20:22
de_CH.utf8: 2017-09-23 20:22
de_DE.utf8: 2017-09-23 20:22
de_LI.utf8: 2017-09-23 20:22
de_LU.utf8: 2017-09-23 20:22
en_AG : 2017-09-23 20:22
en_AG.utf8: 2017-09-23 20:22
en_AU.utf8: 2017-09-23 20:22
en_BW.utf8: 2017-09-23 20:22
en_CA.utf8: 2017-09-23 20:22
en_DK.utf8: 2017-09-23 20:22
en_GB.utf8: 2017-09-23 20:22
en_HK.utf8: 2017-09-23 20:22
en_IE.utf8: 2017-09-23 20:22
en_IN : 2017-09-23 20:22
en_IN.utf8: 2017-09-23 20:22
en_NG : 2017-09-23 20:22
en_NG.utf8: 2017-09-23 20:22
en_NZ.utf8: 2017-09-23 20:22
en_PH.utf8: 2017-09-23 20:22
en_SG.utf8: 2017-09-23 20:22
en_US.utf8: 2017-09-23 20:22
en_ZA.utf8: 2017-09-23 20:22
en_ZM : 2017-09-23 20:22
en_ZM.utf8: 2017-09-23 20:22
en_ZW.utf8: 2017-09-23 20:22
it_IT.utf8: 2017-09-23 20:22
POSIX : Sep 23 20:22
Vou deixar minhas outras soluções aqui para referência:
who -b | awk '{print $(NF-1)" "$NF}' >> file.txt
imprimirá as últimas duas colunas (separadas por espaços) da saída do comando, que funciona para uma configuração de localidade como a sua (de acordo com a amostra da sua pergunta).
Para a saída em inglês, você precisa das últimas três colunas :
who -b | awk '{print $(NF-2)" "$(NF-1)" "$(NF)}' >> file.txt