Iniciarei este blog exemplificando um comando/programa incluso em todas as distros linux. Simples e pratico, util para scripts e diversos.
Eis o Cut, interpretado pelo bash, sua funcao é dividir a entrada de dados seja ela byte (-b), caracter (-c) ou secao/secoes delimitada por caracteres (-d e -f), vindas de um arquivo, variavel ou string comum. Abaixo exemplos:
Retorna os 5 primeiros caracteres vindos de uma string
[metaphys@psychedelic ~]$ echo ‘Testando o Cut’ | cut -c1-5
Testa
Retorna o quinto caracter
[metaphys@psychedelic ~]$ echo ‘Testando o Cut’ | cut -c5
a
Como a locale do meu SO é o inglês, então, no exemplo abaixo, setei LC_ALL ( variavel de ambiente que tem precedencia sobre todas as outras LC_* ) para pt_BR. Com a saida do date, retornarei as secoes Mes, Dia e Ano.
[metaphys@psychedelic ~]$ echo `LC_ALL=pt_BR LANG= date | cut -d” ” -f2,3,6`
Mai 28 2011
No exemplo abaixo a entrada dos dados será a partir de um arquivo.
Inseri a string Testanto;o;Cut no arquivo teste.txt
[metaphys@psychedelic ~]$ echo ‘Testando;o;Cut’ > teste.txt
[metaphys@psychedelic ~]$ cat teste.txt
Testando;o;Cut
Leio o conteudo do arquivo teste.txt, executo o cut, declaro o delimitador “;”, retorno o 3 bloco e insiro no arquivo saida.txt e por fim, vejo o conteudo do arquivo saida.txt
[metaphys@psychedelic ~]$ cat teste.txt | cut -d\; -f3 > saida.txt | cat saida.txt
Cut
No exemplo abaixo uso o parametro -b que representa bytes. No exemplo abaixo listo os 5 primeiros bytes do arquivo.
[metaphys@psychedelic ~]$ cat teste.txt | cut -b1-5
Testa
Mais informacoes:
man cut