Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Ambos lados da revisão anterior Revisão anterior
unix:comandos_grep_e_find [2019/02/19 21:00] – [Exercícios] mazierounix:comandos_grep_e_find [2019/02/19 21:04] (atual) maziero
Linha 1: Linha 1:
 +====== 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''
 +
 +<code>
 +grep home /etc/passwd
 +</code>
 +
 +    * Procurar todas as linhas que **não contenham** a string "home" em ''/etc/passwd''
 +
 +<code>
 +grep -v home /etc/passwd
 +</code>
 +
 +===== 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:
 +<code>
 +find /usr -name '*txt' -print
 +</code>
 +
 +    * Procurar todas as entradas *ab* ou *cd* (maíusculas ou minúsculas) presentes em /opt
 +<code>
 +find /opt -iname '*ab*' -or -iname '*cd*'
 +</code>
 +
 +    * Procurar todas as entradas acessadas a mais de 3 dias em /etc:
 +<code>
 +find /etc -atime +3
 +</code>
 +
 +    * Procurar todas as entradas modificadas a menos de 2 dias em /etc que tenham mais de 5 Kbytes de tamanho:
 +<code>
 +find /etc -mtime -2 -and -size +5k
 +</code>
 +
 +    * Procurar todos os diretórios dentro de /opt cujo grupo tenha acesso em escrita:
 +<code>
 +find /opt -type d -perm +g+w
 +</code>
 +
 +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 =====
 +
 +  - Crie um arquivo com os dados de exemplo abaixo:<code>
 +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
 +</code>
 +  - Mostre apenas as 4 últimas linhas do arquivo
 +  - Mostre a quantidade de caracteres que o arquivo possui
 +  - Mostre apenas a primeira e última coluna do arquivo
 +  - Ordene os dados pela última coluna (números)
 +  - Crie um arquivo com os mesmos dados separados por ‘,’ (vírgula) e repita os exercícios 4 e 5
 +  - Mostre os dados substituindo Mark por John
 +  - Mostre os dados precedidos de numeração de linhas
 +  - Mostre apenas linhas que não contenham a palavra “mangoes”
 +  - Mostre apenas linhas que contenham as sequências “ea” ou “oe”
 +  - O que faz o comando ''tac''?
 +  - Mostre apenas linhas terminadas com o número ‘2’. Agora tente evitar que a linha terminada em 12 apareça também.
 +  - Use o comando ''find'' para encontrar todos os links simbólicos presentes em ''/usr''.
 +  - O que faz o comando: ''find /usr/share/doc/ -iname html'' ?
 +  - O que faz o comando: ''find /usr/share/doc/ -iname *html'' ?
 +  - Mostre as últimas 15 linhas do arquivo /var/log/dmesg.
 +  - Mostre na tela as 5 primeiras linhas do arquivo /var/log/dmesg.