Métodos Alternativos para Manipulação de Fim de Linha
Embora o comando col seja útil para filtrar alimentações de linha, o Linux fornece outras ferramentas projetadas especificamente para converter quebras de linha entre diferentes formatos. Vamos explorar algumas dessas alternativas.
Usando os Comandos dos2unix e unix2dos
Os utilitários dos2unix e unix2dos são projetados especificamente para converter arquivos de texto entre os formatos DOS/Windows e Unix.
Primeiro, vamos instalar esses utilitários:
sudo apt update
sudo apt install -y dos2unix
Agora, vamos criar outro arquivo no estilo Windows para testar:
cd ~/project/line_feeds
cat > config.ini << EOF
[General]^M
Username=admin^M
Password=12345^M
Debug=true^M
[Network]^M
Host=127.0.0.1^M
Port=8080^M
Timeout=30^M
EOF
Verifique o arquivo:
cat -v config.ini
Você deve ver os caracteres de retorno de carro (^M):
[General]^M
Username=admin^M
Password=12345^M
Debug=true^M
[Network]^M
Host=127.0.0.1^M
Port=8080^M
Timeout=30^M
Agora, vamos usar dos2unix para converter este arquivo:
dos2unix config.ini
Este comando modifica o arquivo no local. Vamos verificar o resultado:
cat -v config.ini
Os caracteres de retorno de carro devem ter desaparecido:
[General]
Username=admin
Password=12345
Debug=true
[Network]
Host=127.0.0.1
Port=8080
Timeout=30
Usando o Comando tr
Outra abordagem é usar o comando tr, que pode traduzir ou excluir caracteres:
cd ~/project/line_feeds
cat > tr_example.txt << EOF
This is a Windows-style file^M
with carriage returns^M
at the end of each line.^M
EOF
Verifique o arquivo:
cat -v tr_example.txt
Você verá:
This is a Windows-style file^M
with carriage returns^M
at the end of each line.^M
Agora use tr para excluir os caracteres de retorno de carro:
tr -d '\r' < tr_example.txt > tr_cleaned.txt
Verifique o resultado:
cat -v tr_cleaned.txt
A saída deve ser:
This is a Windows-style file
with carriage returns
at the end of each line.
Comparando Métodos
Vamos criar um resumo dos métodos que aprendemos:
col -b: Bom para filtrar retornos de carro e outros caracteres especiais
dos2unix: Projetado especificamente para converter arquivos de texto Windows/DOS para o formato Unix
tr -d '\r': Abordagem simples usando tradução de caracteres
Cada método tem suas vantagens:
col é versátil e lida com vários caracteres especiais
dos2unix é construído para conversão de quebra de linha
tr é uma solução simples que está disponível em praticamente todos os sistemas Unix
Para a maioria das tarefas de conversão de quebra de linha, dos2unix é a ferramenta mais direta. No entanto, conhecer todos esses métodos oferece flexibilidade ao trabalhar com diferentes sistemas.