Um comando para a funcionalidade ls e cat?

2

Ok pessoal, este é um aviso de pergunta experimental!

Costumo confundir cat e ls ao trabalhar rapidamente no console. Não porque eu esqueça seus significados, não. Só porque eu digito sem pensar profundamente sobre o comando - ele só vem automaticamente. Tenho certeza de que todos sabem o que estou tentando explicar: você não precisa pensar no que digitar se sua tarefa for listar, digamos, um arquivo de texto - ou um diretório.

Agora, por que dois comandos diferentes? As coisas seriam mais fluentes se houvesse um comando que listasse um diretório se o destino fosse um diretório e que listasse o conteúdo de um arquivo se o destino fosse um arquivo.

Existe tal comando?

Eu sei que existem editores (por exemplo, vim ) com a capacidade de listar um diretório. Mas isso não é o que eu quero, como eu quero ficar no console. Segundo, depois de abrir um arquivo através da lista de diretórios vim , não há caminho de volta - pelo menos nenhum que eu saiba.

Se não houver uma solução pronta para uso, tentarei transformar um pequeno script (wrapper) em cat e ls . Mas isso não é o preferido, porque ao trabalhar com muitos sistemas diferentes, ele tem que ser colocado em cada um deles ...

    
por Nicolas 16.04.2014 / 20:23

1 resposta

6

Basta colocar essa função como seu .bashrc :

catls()
{
  [[ -f "" ]] && cat "" || ls "";
}

Ele irá cat arquivos regulares, mas chama ls para diretórios

    
por Sylvain Pineau 16.04.2014 / 23:22