Apenas uma pergunta rápida. É possível tabular a saída no Ubuntu 16.04 LTS? Criei duas imagens abaixo para tentar ilustrar o que quero dizer com isso.
Apenas uma pergunta rápida. É possível tabular a saída no Ubuntu 16.04 LTS? Criei duas imagens abaixo para tentar ilustrar o que quero dizer com isso.
Respostas:
Você poderia fazer algo assim - com descritores de arquivo:
salve o descritor de saída atual para que possamos restaurá-lo mais tarde
exec 3>&1redirecionar o fluxo de saída para uma substituição de processo que insere a guia - por exemplo
exec 1> >(paste /dev/null -)A partir deste ponto, qualquer processo que grava na saída padrão terá essa saída 'filtrada' através do pastecomando para inserir guias no início.
Quando terminar, você pode retomar o comportamento normal restaurando o descritor de arquivo salvo e fechando o temporário
exec 1>&3 3>&-lessou ferramentas semelhantes para permitir a rolagem da saída, como por exemplo man.
Entendo que esta resposta não é ideal para você, mas você pode criar uma função Bash com o nome simples _(ou qualquer outra coisa que ainda não seja usada) que executa o comando que obtém como argumentos e identifica toda a sua saída com uma guia.
Um exemplo:
$ _ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04 LTS
Release: 16.04
Codename: xenial
O código dessa função seria apenas isso:
_(){ sed "s/^/\t/" <($*); }
Você pode anexá-lo ao seu ~/.bashrcarquivo para que fique disponível em todas as sessões do Bash do usuário executando:
echo '_(){ sed "s/^/\t/" <($*); }' >> ~/.bashrc
Se você deseja disponibilizá-lo para todos os usuários, anexe-o /etc/bash.bashrc(requer direitos de administrador):
echo '_(){ sed "s/^/\t/" <($*); }' | sudo tee -a /etc/bash.bashrc
Como alternativa, você também pode criar um arquivo de script /usr/local/bin/_com o seguinte conteúdo para obter o mesmo sem as funções do Bash e para todos os usuários:
#!/bin/bash
sed "s/^/\t/" <($*)
Você deve tornar o script executável após salvar o arquivo usando
sudo chmod +x /usr/local/bin/_
Com echoespecificamente, você pode interpretar escapes de barra invertida como \t(uma parada de tabulação ) com a -eopção:
echo -e "\tHello World"
Mas dificilmente seria possível (ou provavelmente possível) modificar a saída de todos os comandos dessa maneira. Se a facilidade de leitura é o seu objetivo, convém personalizar a aparência (por exemplo, a coloração) do prompt de comando, como mostrado aqui:

Você pode personalizar seu prompt alterando o conteúdo da variável de ambiente PS1. Você pode ver um pequeno exemplo de como fazer isso na postagem do blog da qual a captura de tela acima é. Como usar as chamadas seqüências de escape ANSI em detalhes, como usar ferramentas mais confortáveis, como aplicar as alterações por padrão em novos terminais etc. estão fora do escopo desta resposta. Mas se você decidir usar essa técnica, existem muitos tutoriais e mais informações na Web.
YOUR COMMAND | indentou se você precisar digitar outro comando na frente dele (poderia ser apenas um sublinhado) como_ YOUR COMMAND?