Académique Documents
Professionnel Documents
Culture Documents
2.3.1
23
Grep Global Regular Expression Print tem como principal objetivo localizar cadeias
de caracteres dentro de um texto previamente denido. Esse texto pode ser o contedo
de um arquivo, a sada de um programa ou a entrada padro. A cadeia de caracteres
denida por uma Expresso Regular1 .
Na Figura 2.3 mostrado um exemplo onde grep procura pela cadeia de caracteres Linux dentro do arquivo meutexto.txt. O comando devolve as linhas inteiras que
contm a cadeia procurada. No exemplo da Figura 2.4, grep procura pela cadeia livre
dentro de todos os arquivos com extenso .txt no diretrio corrente. Ele retorna o nome
do arquivo seguido pela linha que contm a cadeia procurada.
S
R
09:17
09:40
0:20 kile
0:00 grep kile
As opes comuns mais utilizadas com grep so: -c que retorna apenas a quantidade de linhas encontradas; -l que retorna apenas os nomes dos arquivos que contm a
cadeia de caracteres procurada; e -v que retorna a entrada completa exceto as linhas onde
a ocorrncia foi encontrada. Os exemplos da Figura 2.6 mostram o uso das opes -c e
-l. No exemplo da Figura 2.7, removeu-se o usurio fulano dos arquivos /etc/passwd
e /etc/shadow.
1 Expresses
24
Da mesma famlia do grep, h ainda o egrep Extended grep e o fgrep Fast grep.
O egrep mais poderoso que o grep, porm mais lento, sendo utilizado com Expresses
Regulares mais complexas. O fgrep mais rpido que o grep mas no trabalha com
Expresses Regulares.
2.3.2
wc
O comando wc, quando usado com a opo -l, conta o nmero de linhas da ocorrncia. Com a opo -c, conta o nmero de caracteres e com -w, o nmero de palavras. Um
exemplo de uso do wc pode ser visto na Figura 2.8 onde so contados o nmero de linhas,
caracteres e palavras do texto gravado no arquivo meutexto.txt.
2.3.3
cut
Shell-Script
25
Comando
cut -cposio [arquivo]
Descrio
Retorna todos os caracteres de posio.
paste
Ao contrrio do cut que separa campos, o paste permite juntar campos de diferentes
arquivos. Entre os campos, paste usa o caracter <TAB> para fazer a separao. A opo
-d pode denir qual ser o caracter delimitador. A Figura 2.11 mostra um exemplo de uso
do comando paste.
2.3.5
head
O comando head geralmente usado na forma head -n, onde n um nmero que
representa as n primeiras linhas de um arquivo ou de uma sada de comando redirecionada. Um exemplo de seu uso mostrado na Figura 2.12.
2.3.6
tail
O comando tail geralmente usado na forma tail -n, funcionando de forma inversa
a head, retornando as n ltimas linhas de um arquivo ou de uma sada de comando
redirecionada. Um exemplo pode ser visto na Figura 2.13.
2.3.7
expr
26
[prompt]$ ls -l
-rw-rw-r-- 1 herlon
drwxrwxr-x 2 herlon
-rw-rw-r-- 1 herlon
-rw-rw-r-- 1 herlon
drwxrwxr-x 2 herlon
cut -c33conteudo.txt
erro
meutexto.txt
teste.txt
tmp
tratamento de strings deixado com as ferramentas Sed e Awk por serem mais completas
e ecientes2 .
2.3.8
bc
Para expresses numricas mais complexas, ou com casas decimais, usa-se a calculadora bc. Pode-se tambm ser usada para converso de base numrica. Exemplos de
uso so mostrados na Figura 2.15.
2 Sed
Shell-Script
27
[prompt]$cat /etc/passwd
...
herlon:x:500:500:Herlon Camargo:/home/herlon:/bin/bash
matheus:x:501:501:Matheus Camargo:/home/matheus:/bin/bash
proftpd:x:101:103:Proftpd user (system):/srv/ftp:/bin/false
httpd:x:502:502::/home/httpd:/bin/bash
postgres:x:503:503::/home/postgres:/bin/bash
teste:x:504:504::/home/teste:/bin/bash
gdm:x:42:42::/home/gdm:/bin/bash
clamav:x:43:43:Clam Anti Virus Checker:/var/lib/clamav:/bin/false
...
2.3.9
sort
28
Shell-Script
29
2.3.10
uniq
[prompt]$ who
matheus tty2
root
tty3
matheus tty4
herlon
:0
herlon
pts/0
herlon
pts/1
herlon
pts/2
herlon
pts/3
Mar
Mar
Mar
Mar
Mar
Mar
Mar
Mar
1
1
1
1
1
1
1
1
12:13
12:13
12:13
08:46
08:46
09:17
09:20
09:24