Ferramentas do usuário

Ferramentas do site


unix:comandos_grep_e_find

Comandos em arquivos

grep

O comando grep permite procurar strings dentro de arquivos de texto.

Exemplos:

  • Procurar todas as linhas contendo “home” no arquivo /etc/passwd
grep home /etc/passwd
  • Procurar todas as linhas que não contenham a string “home” em /etc/passwd
grep -v home /etc/passwd

find

O comando find permite encontrar arquivos que satisfaçam certas características.

Vejamos alguns exemplos de busca:

  • Procurar todas as entradas “*txt” dentro do diretório /usr:
find /usr -name '*txt' -print
  • Procurar todas as entradas *ab* ou *cd* (maíusculas ou minúsculas) presentes em /opt
find /opt -iname '*ab*' -or -iname '*cd*'
  • Procurar todas as entradas acessadas a mais de 3 dias em /etc:
find /etc -atime +3
  • Procurar todas as entradas modificadas a menos de 2 dias em /etc que tenham mais de 5 Kbytes de tamanho:
find /etc -mtime -2 -and -size +5k
  • Procurar todos os diretórios dentro de /opt cujo grupo tenha acesso em escrita:
find /opt -type d -perm +g+w

Para maiores informações sobre as opções disponíveis para esses comandos, consulte as páginas de manual do sistema.

cut

man cut

head & tail

man head
man tail  

sort

man sort

uniq

man uniq

diff

man diff

cat, tac & rev

man cat
man tac
man rev

wc

man wc

Exercícios

  1. Crie um arquivo com os dados de exemplo abaixo:
    Fred apples 20
    Susy oranges 5
    Susy oranges 5
    Mark watermellons 12
    Robert pears 4
    Terry oranges 9
    Lisa peaches 7
    Susy oranges 12
    Mark grapes 39
    Mark grapes 39
    Anne mangoes 7
    Greg pineapples 3
    Oliver rockmellons 2
    Betty limes 14
  2. Mostre apenas as 4 últimas linhas do arquivo
  3. Mostre a quantidade de caracteres que o arquivo possui
  4. Mostre apenas a primeira e última coluna do arquivo
  5. Ordene os dados pela última coluna (números)
  6. Crie um arquivo com os mesmos dados separados por ‘,’ (vírgula) e repita os exercícios 4 e 5
  7. Mostre os dados substituindo Mark por John
  8. Mostre os dados precedidos de numeração de linhas
  9. Mostre apenas linhas que não contenham a palavra “mangoes”
  10. Mostre apenas linhas que contenham as sequências “ea” ou “oe”
  11. O que faz o comando tac?
  12. Mostre apenas linhas terminadas com o número ‘2’. Agora tente evitar que a linha terminada em 12 apareça também.
  13. Use o comando find para encontrar todos os links simbólicos presentes em /usr.
  14. O que faz o comando: find /usr/share/doc/ -iname html ?
  15. O que faz o comando: find /usr/share/doc/ -iname *html ?
  16. Mostre as últimas 15 linhas do arquivo /var/log/dmesg.
  17. Mostre na tela as 5 primeiras linhas do arquivo /var/log/dmesg.
unix/comandos_grep_e_find.txt · Última modificação: 2019/02/19 18:04 por maziero