Comandos em arquivos

grep

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

Exemplos:

grep home /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:

find /usr -name '*txt' -print
find /opt -iname '*ab*' -or -iname '*cd*'
find /etc -atime +3
find /etc -mtime -2 -and -size +5k
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.