De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Julio Cezar Neves
Data de Publicação: 17 de setembro de 2018
Antes da dica de hoje, um pequeno lembrete. A primeira aula do workshop gratuito sobre Programação Shell Linux já está no ar. Para assistir o vídeo visite nosso portal educacional.
Eu gostaria também de pedir um favor, deixe seu comentário, positivo ou negativo, é sempre útil para melhorarmos nosso conteúdo.
Muito obrigado e um ótimo dia para você :-)
Mais três opções do cut
que, apesar de pouco usadas, são muito úteis porque
em casos específicos evitam um grande trabalho. São elas:
Diretiva | Descrição |
---|---|
-s |
Não lista as linhas que não possuem o delimitador especificado. |
--complement |
Lista tudo menos o campo definido. |
--output-delimiter |
Especifica o delimitador que virá na saída do comando. |
Veja os exemplos:
$ ls arq*
arq1 arq2.txt arq3.sh
Para pegar somente as extensões (mas repare que arq1
não tem extensão),
devemos fazer:
$ ls arq* |cut -f2 -d.
arq1
txt
sh
EPA! arq1
não tinha que estar aí! O que houve? O problema foi ocasionado
pelo padrão (default) do cut
. Caso o alvo não tenha o separador definido,
ele mandará tudo para a saída. Para evitar que isso aconteça, ou seja,
para termos como resposta somente os campos que especificamos, existe a
opção -s
. Veja-a em uso:
$ ls arq* |cut -sf2 -d.
txt
sh
Veja agora o uso das opções --complement
e --output-delimiter
:
$ seq -s: 10 1:2:3:4:5:6:7:8:9:10 $ seq -s: 10 | cut -f5 -d: --complement 1:2:3:4:6:7:8:9:10 # Não listou o quinto campo $ seq -s: 10 | cut -f5 -d: --complement --output-delimiter \| 1|2|3|4|6|7|8|9|10 # Substituiu, na saída, o delimitador : por | $ seq -s: 10 | cut -f5 -d: --complement --output-delimiter $'\n' 1 2 3 4 6 7 8 9 10
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários