Como a codificação do arquivo foi informada como iso-8859-1
, você pode converter a codificação de um arquivo usando iconv -f old-encoding -t new-encoding inputfile > outputfile
Mais informações: link
Isso é bem estranho, usando um documento .txt enviado por um amigo usando o Windows, acredito ter encontrado um caractere de espaço estranho.
Se eu executar cat file
, o caractere aparece como
Além disso, eu estava executando if [[ " " = " " ]] ; then echo yes ; fi
e não estava me dando um código de sucesso. (O personagem perde sua propriedade uma vez no Stack Exchange; portanto, executá-lo fornecerá um código de sucesso)
Editar O arquivo estava na codificação iso-8859-1 e não utf-8.
Usando a solução do Serg, eu consegui convertê-lo para utf-8
Como a codificação do arquivo foi informada como iso-8859-1
, você pode converter a codificação de um arquivo usando iconv -f old-encoding -t new-encoding inputfile > outputfile
Mais informações: link
Você pode usar dos2unix
. De man dos2unix
:
dos2unix - DOS/Mac to Unix and vice versa text file format converter
Por exemplo, você pode fazer:
dos2unix -n file.in file.out
Agora file.out
estará no formato UNIX. dos2unix
pode converter os finais e codificações de linhas do Windows para o formato UNIX para que você possa usá-los em ambos os casos. Se não estiver instalado, você pode instalá-lo por:
sudo apt-get install dos2unix
Um palpite que tenho é o fim da linha.
O Windows usa \r\n
enquanto * o UNIX usa \n
.
Provavelmente, o que você está vendo são os caracteres \r
, já que eles não têm significado para * UNIX.
Não há problema em abrir um arquivo de texto no Windows com \n
endings, pois o Windows o converte automaticamente em \r\n
(somente no modo Texto), enquanto * UNIX não tem esse recurso.
O personagem que você está vendo parece um espaço sem quebra. É o número de caractere 160 em iso-8859-1 e unicode. Em alguns layouts de teclado, ele pode ser inserido usando alt espaço . Se você visualizar o arquivo com cat -e
, ele será exibido como M-
, como neste exemplo:
$ printf '\xa0\n' | cat -e
M- $