Pular para o conteúdo

Introdução ao Shell Script

O artigo traz uma introdução a Shell Script. Criaremos alguns exemplos práticos para que você consiga criar seus próprios scripts de automatização. Shell Script é um tipo de linguagem de programação que é utilizado por administradores Linux/Unix. Também é possível criar scripts para outros sistemas operacionais, mas o meu foco aqui será mesmo os sistemas Linux e suas distribuições.
Renato Diniz Marigo renizgo
Hits: 23.291 Categoria: Shell Script Subcategoria: Introdução
  • Indicar
  • Impressora
  • Denunciar

Parte 6: Dicas úteis para Shell Script

Descrevo aqui o uso de alguns recursos e comando que irão auxiliar no dia a dia de um programador de Shell Scripts. Para exemplificar usaremos um arquivo de texto com o seguinte conteúdo:

Linha: 1 Renato
Linha: 2 Carol
Linha: 3 Maria
Linha: 4 Iracema
Linha: 5 João
Linha: 6 Pedro

O comando GREP

Para localizar todas as ocorrências da palavra "linha:"

# cat arquivo.txt | grep Linha
# grep Linha arquivo.txt
Para localizar ocorrências da palavra Renato:

# cat arquivo.txt | grep Renato
Para que na pesquisa, seja indiferente maiúsculas e minúsculas usamos a opção -i do comando grep:

# cat arquivo.txt | grep -i renato

O comando CUT

Para separarmos o nosso texto em colunas precisamos usar um outro comando bem útil: "cut" e usaremos um delimitador para exibição. Vamos aos exemplos.

Arquivo original sem filtros:
Agora iremos separar em duas colunas o texto e usaremos o delimitador ":" para isso, aqui usarei este caractere porque temos este caracteres em todas as linhas e nosso dia a dia verificaremos qual o caractere que iremos utilizar como delimitador.

Exibindo a coluna 1:

# cut -d: -f1 arquivo.txt
Exibindo a coluna 2:

# cut -d: -f2 arquivo.txt
Exibindo as duas colunas:

# cut -d: -f1,2 arquivo.txt

O Comando awk

O comando awk também é muito útil quando quisermos fazer filtros de conteúdos por colunas, vamos a um exemplo.

Usaremos o comando "awk" para localizar a ocorrência da palavra Renato e mostrar que o comando consegue separar o filtro exibindo as colunas desejadas.

Para filtrar o nome Renato e exibir as 3 colunas:

# cat arquivo.txt | awk '/Renato/{print $1,$2,$3}'
Para filtrar o nome Renato e exibir a coluna 1:

# cat arquivo.txt | awk '/Renato/{print $1}'
Para filtrar o nome Renato e exibir a coluna 2:

# cat arquivo.txt | awk '/Renato/{print $2}'
Para filtrar o nome Renato e exibir a coluna 3:

# cat arquivo.txt | awk '/Renato/{print $3}'
Para filtrar o nome Renato e exibir as colunas 1 e 3:

# cat arquivo.txt | awk '/Renato/{print $1,$3}'
   1. Introdução a Shell Script
   2. Nosso segundo script
   3. Declarando variáveis
   4. Interagindo com o usuário
   5. Usando laços e condicionais em Shell Script
   6. Dicas úteis para Shell Script
   7. Enviando dados a um servidor de FTP ou SFTP

Instalação do WordPress no CentOS 7

Tutorial de instalação do Squid no CentOS

Nagios 3 + NagiosQL no Ubuntu Server 12.04

Instalação do Docker no CentOS 7

VLAN Tagging nos sistemas GNU/Linux derivados do Red Hat

Simples e rápido: matando todos os processos de um usuário

Introduzindo um pouco mais a fundo o shell script

Trabalhar com array no Bash

Montando, monitorando e gerando logs dos compartilhamento NFS automaticamente

Shell Script para WEB

#1 Comentário enviado por fabio em 15/02/2016 - 17:21h
Meus parabéns pelo ótimo trabalho!
#2 Comentário enviado por renizgo em 15/02/2016 - 18:10h

[1] Comentário enviado por fabio em 15/02/2016 - 17:21h

Meus parabéns pelo ótimo trabalho!


Obrigado, espero ter ajudado!
#3 Comentário enviado por azk em 16/02/2016 - 00:27h
Simples, objetivo e bem exemplificado.
Uma ótima contribuição.
congratz bro!
#4 Comentário enviado por GabrielSilva em 16/02/2016 - 11:38h
Muito bom o seu tutorial. Obrigado pela ajuda!
#5 Comentário enviado por Freud_Tux em 16/02/2016 - 18:25h
Parabéns!

T+
#6 Comentário enviado por wagnerfs em 16/02/2016 - 22:08h
Parabéns pelo artigo! Vai ser de grande ajuda para àqueles que estão começando no mundo do Shell Script.
_________________________
Wagner F. de Souza
Técnico/Instrutor de Informática
"GNU/Linux for human beings."
LPI ID: LPI000297782
#7 Comentário enviado por renizgo em 16/02/2016 - 23:16h

[6] Comentário enviado por K666 em 16/02/2016 - 22:08h

Parabéns pelo artigo! Vai ser de grande ajuda para àqueles que estão começando no mundo do Shell Script.
_________________________
Wagner F. de Souza
Técnico/Instrutor de Informática
"GNU/Linux for human beings."
LPI ID: LPI000297782


Sim com certeza, obrigado pelo comentário.
#8 Comentário enviado por renizgo em 16/02/2016 - 23:25h

[3] Comentário enviado por azk4n em 16/02/2016 - 00:27h

Simples, objetivo e bem exemplificado.
Uma ótima contribuição.
congratz bro!


Opa obrigado pelo comentário!!!
#9 Comentário enviado por dk.d4rk0 em 17/02/2016 - 02:00h
Parabéns pelo artigo!
#10 Comentário enviado por renizgo em 17/02/2016 - 21:42h

[9] Comentário enviado por dk.d4rk0 em 17/02/2016 - 02:00h

Parabéns pelo artigo!


Valeu!!!!
#11 Comentário enviado por mlmlightman7 em 18/02/2016 - 03:09h
Cara, perfeito. Muito bom mesmo. Parabéns !!!
#12 Comentário enviado por BRKsCosta em 19/02/2016 - 10:47h
Eu fiz exatamente o que está lá, mas quando vou executar o arquivo não dá :/. Mas desde já meus parabéns. Estou usando o editor nano.
#14 Comentário enviado por removido em 23/02/2016 - 12:41h
Parabéns cara! Vou favoritar o artigo pq é realmente muito bom! O artigo está claro, com uma excelente organização e com uma didática que não deixa dúvidas!

Continue com o trabalho. Valeu!
#15 Comentário enviado por renizgo em 23/02/2016 - 16:54h

[12] Comentário enviado por BRKsCosta em 19/02/2016 - 10:47h

Eu fiz exatamente o que está lá, mas quando vou executar o arquivo não dá :/. Mas desde já meus parabéns. Estou usando o editor nano.


É tranquilo, o que aparece para ti?

Basicamente você cria o arquivo com o nano no seu caso, depois pelo terminal você dá permissão de execução a ele # chmod +x seuscript, depois executa ele com # ./seuscript.

Vai dar certo!!!
#16 Comentário enviado por renizgo em 23/02/2016 - 16:55h

[14] Comentário enviado por Degomes em 23/02/2016 - 12:41h

Parabéns cara! Vou favoritar o artigo pq é realmente muito bom! O artigo está claro, com uma excelente organização e com uma didática que não deixa dúvidas!

Continue com o trabalho. Valeu!


Obrigado, que bom que conseguir ajudar!!!
#17 Comentário enviado por albfneto em 27/02/2016 - 15:17h
é muito bom. Favoritado.
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
Albfneto,
Ribeirão Preto, S.P., Brasil.
Usuário Linux, Linux Counter: #479903.
Distros Favoritas: Sabayon, Gentoo, OpenSUSE, Mageia e OpenMandriva.

Contribuir com comentário

Entre na sua conta para comentar.