Usando o Piping com o cat e menos para concatenar 2 arquivos

1

Sou relativamente novo em comandos Unix e tenho apenas uma pergunta simples.

Um exercício em que estou trabalhando quer que eu use piping junto com cat e menos para concatenar 2 diretórios (neste caso / etc / passwd e / etc / group) juntos e depois exibir a saída uma página por vez.

Estou tentando ls - la | less cat /etc/passwd/ - /etc/group , mas não tenho certeza da sintaxe exata que devo usar. O que devo mudar?

EDIT: diretórios alterados para arquivos no título para referência futura.

    
por NickV 02.08.2013 / 19:14

2 respostas

9

Ao usar pipes, você deve considerar a ordem das operações antes de criar seu pipeline. Você também quer ter uma boa compreensão do que cada comando faz.

Para esclarecimentos: / etc / passwd e / etc / group não são diretórios , mas arquivos . Você está no caminho certo usando ls para diretórios, mas neste caso não é necessário.

Para começar, aqui estão algumas dicas (tente também man <command> para mais detalhes).

less é ótimo para exibir saída paginada.

cat é ótimo para imprimir o conteúdo de um arquivo (ou vários) em um único fluxo para STDOUT.

Colocando os dois juntos:

cat /etc/group /etc/passwd | less significa "concatena os dois arquivos especificados (passwd e group) e canaliza a saída resultante para menos, o que os exibe no formato paginado.

    
por 02.08.2013 / 19:22
5

Primeiro de tudo, você está falando sobre arquivos , não diretórios. Além disso, o ls é irrelevante. Tudo que você precisa fazer é

cat   /etc/passwd/ /etc/group | less

cat simplesmente imprime o conteúdo dos arquivos que você fornece, dando a ele dois arquivos para produzir o conteúdo de um após o outro. less é um pager, um programa que permite ler dados de várias linhas uma página por vez.

    
por 02.08.2013 / 19:22