Comandos Linux · 2 min read · Sep 18, 2025

Comando unexpand do Linux Explicado para Iniciantes (com Exemplos)

Trabalhar na linha de comando do Linux requer aprender como realizar rapidamente algumas tarefas repetitivas. Uma dessas tarefas que você pode se envolver mais cedo ou mais tarde é converter espaços em tabs ou vice-versa. Neste tutorial, discutiremos uma utilidade de linha de comando - chamada unexpand - que será de grande ajuda nessas situações.

Mas antes de começarmos, vale a pena mencionar que todos os exemplos neste artigo foram testados em uma máquina Ubuntu 16.04 LTS.

Comando unexpand do Linux

O comando unexpand permite que você converta espaços em tabs. A seguir está sua sintaxe:

unexpand [OPÇÃO]... [ARQUIVO]...

E aqui está como a página do manual o descreve:

Converte espaços em cada ARQUIVO em tabs, escrevendo na saída padrão. Sem ARQUIVO, ou quando ARQUIVO é -, lê a entrada padrão.

A seguir estão alguns exemplos no estilo de perguntas e respostas que devem lhe dar uma boa ideia de como o comando unexpand funciona.

Q1. Como usar o comando unexpand?

Suponha que você tenha um arquivo com texto contendo tabs. Agora, por qualquer motivo, você converteu esses tabs em espaços usando o comando expand, e agora você quer converter espaços em tabs novamente, então, neste caso, você pode usar o comando unexpand.

Por exemplo:

unexpand file1

A ferramenta produz a saída convertida no stdout. Então, para salvá-la, você pode redirecioná-la para algum arquivo. Por exemplo:

unexpand file1 > file2

Vale a pena mencionar que, por padrão, essa ferramenta só funciona em espaços iniciais. Você pode usar a opção -a para informar à utilidade que você deseja converter todos os espaços/em branco em tabs.

Q2. Como forçar o unexpand a converter apenas espaços iniciais?

A ferramenta fornece uma opção que a força a converter apenas espaços ou espaços iniciais (mesmo que a opção -a esteja presente). A opção em questão é –first-only.

unexpand --first-only -a file1 > file2

Q3. O que a opção -t faz?

Bem, a opção -t tem múltiplos papéis. Ela aceita um único número ou uma lista de números separados por vírgulas. Quando você passa um único número (digamos ‘n’), o comando unexpand garante que ele comprime espaços no arquivo em tabs a cada ‘n’ posições.

Por exemplo, para fazer a ferramenta comprimir espaços em tabs a cada 3 posições, use esta opção da seguinte forma:

unexpand -t 3 file1 > file2

Por outro lado, se esta opção receber uma lista de números separados por vírgulas, a ferramenta coloca paradas de tabulação nessas posições específicas.

unexpand -t 1,2,3 file1 > file2

Q4. Como fazer o unexpand ler a entrada do STDIN?

Isso é bastante fácil - basta executar o comando sem nenhum nome de arquivo como entrada (use ctrl+D para informar à utilidade que você terminou).

Aqui está do que estou falando:

unexpand

Conclusão

Dependendo do tipo de trabalho que você faz, o comando unexpand pode ser de grande ajuda. Neste tutorial, discutimos a maioria das opções de linha de comando que essa ferramenta oferece. Para saber mais, acesse sua página de manual.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.