Nesse primeiro post, de uma série longa, vou mostrar as funcionalidades práticas do shell script em tarefas rotineiras. Pode parecer coisas simples, porém, combinadas com atividades específicas, pode ajudar e muito.
Abaixo um exemplo de script que recebe palavras ou números e imprime a quantidade de caracteres. Atente para a utilização dos recursos na criação do script e tente implementar em outras situações ou até mesmo melhorar acrescentando navas funcionalidades.
1 #!/bin/bash
2
3 if [ "$1" == "" ]
4 then
5 echo "Passe o argumento $0 palavra(s)"
6 else
7 echo -n "$*" | sed 's/ //g' | wc -m
8 fi
Na linha 3 é colocado uma condição: se não for passado nenhum argumento, será exibida uma mensagem informando como o script deve ser executado.
Saltando para a linha 7, o comando echo precisa estar com o atributo -n para evitar fazer uma quebra de linha (\n) ao final do argumento passado pelo usuário. O que isso interfere? Caso você não coloque apenas o comando echo, a contagem final mostrará um byte a mais.
O comando sed vai suprimir os espaços em branco pois o usuário pode passar mais de um argumento e a variável $* garante que o echo imprima todos. Tipo "palavra palavra" passadas pelo programa.
Ao final, todas as informações serão canalizadas para o comando wc -m que vai fazer a contagem.
Gaste um pouco mais de tempo aprendendo a trabalhar com o sed pois é uma "mão na roda" para realizar filtros em arquivos de texto na obtenção de informações. Em breve vou mostrar exemplos mais avançados.Bons estudos!