você está aqui: Home  → Arquivo de Mensagens

Opções úteis do cut mas não muito usadas

Colaboração: Julio Cezar Neves

Data de Publicação: 17 de setembro de 2018

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



Veja a relação completa dos artigos de Julio Cezar Neves

 

 

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script