Comandos em arquivos

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

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.

man cut
man head
man tail  
man sort
man uniq
man diff
man cat
man tac
man rev
man wc
  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.