Comando cut

Continuando com a série de posts sobre alguns comandos do Linux… hoje vamos falar sobre o comando cut.

O comando cut é a “tesoura” do linux; ele é utilizado para “cortar” campos ou pedaços de dados de arquivos.

Vamos imaginar a seguinte situação. O diretor de estratégias da empresa deseja a lista de usuários que logam no sistema da empresa. As informações sobre os usuários cadastrados no sistema estão no arquivo /etc/passwd.

Já vimos esse arquivo em alguns posts atrás… e sabemos que ele tem várias informações, que não são relevantes ao que o diretor está solicitando.

É nessa hora que entra em ação o comando cut! Ele será utilizado para cortar o campo que tem o nome dos usuários para que possamos levar para o diretor!

Vamos analisar uma linha do passwd:

nix:x:1000:1000:,,,:/home/nix:/bin/bash

Vejam que em cada linha do arquivo passwd sempre vou ter 7 campos, e eles são separados por : (dois pontos), o que faz com que tenhamos um padrão na separação dos campos; ou seja, vamos ter algo que separe os campos em um arquivo (lembrando que tem que ser em todas as linhas para dar certo).

Para usar o comando cut, precisamos bater um papo com o comando e responder pra ele 2 coisas:

1) Onde vamos cortar, ou seja, qual padrão será utilizado para cortar?

2) Depois de cortar, o que vamos mostrar?

No nosso caso, precisamos da primeira coluna do /etc/passwd:

# cut -d : -f 1 /etc/passwd
root
daemon
bin
sys
sync

O comando acima está dizendo: “Corte em cima dos : (d = delimitador), e mostre apenas o campo (f – field – campo) 1 (um) do arquivo passwd”

Então, já sabemos usar o comando cut em sua forma básica! É importante lembrar que:

✔ o comando só vai funcionar corretamente se todas as linhas tiverem os “:” que é o local que o cut vai cortar;

✔ os “:” são os delimitadores padrão nesse arquivo; isso quer dizer que em outro arquivo, tipo de delimitador pode ser outro.

É isso aí pessoal… até o próximo post!

PS: Não esqueçam de chamar o diretor para ver a lista de usuários!! 😛

Anúncios

5 comentários sobre “Comando cut

  1. Nix 28/08/2008 / 11:46 PM

    Ola Cleyton,

    Para cortar essa linha, o que você tem em comum para usar como delimitador, são os espaços… então, tem que contar quantas campos tem nos espaços até chegar o lugar que você quer cortar.
    No seu exemplo, joguei a linha dentro de um arquivo chamado delete.me e cortei assim:

    # cut -d ‘ ‘ -f 7 /tmp/delete.me
    http://www.google.com.br/

    Espero ter ajudado.

    Nix

  2. Cleyton 15/09/2008 / 11:38 AM

    Bom dia Nix,

    Tive fora por uns dias em treinamento.. Mas ajudou sim.. Obrigado!

  3. Adriano Avelino 02/02/2010 / 12:50 AM

    Ola, gostei muito desse seu tuto sobre o comando cut. Estava eu estudando mais afundo para criação de shellscript aqui e me deparei a uma dúvida que veio como uma luva o seu artigo aqui. Ele está bem descrito para um entendimento. continue com esse trabalho!

    Um abraço

Os comentários estão desativados.