Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
Ambos lados da revisão anterior Revisão anterior Próxima revisão | Revisão anterior | ||
unix:comandos_grep_e_find [2019/02/19 18:29] – maziero | unix:comandos_grep_e_find [2019/02/19 21:04] (atual) – maziero | ||
---|---|---|---|
Linha 1: | Linha 1: | ||
+ | ====== Comandos em arquivos ====== | ||
+ | |||
+ | ===== grep ===== | ||
+ | |||
+ | O comando '' | ||
+ | |||
+ | Exemplos: | ||
+ | |||
+ | * Procurar todas as linhas contendo " | ||
+ | |||
+ | < | ||
+ | grep home /etc/passwd | ||
+ | </ | ||
+ | |||
+ | * Procurar todas as linhas que **não contenham** a string " | ||
+ | |||
+ | < | ||
+ | grep -v home /etc/passwd | ||
+ | </ | ||
+ | |||
+ | ===== find ===== | ||
+ | |||
+ | O comando '' | ||
+ | |||
+ | Vejamos alguns exemplos de busca: | ||
+ | |||
+ | * Procurar todas as entradas **" | ||
+ | < | ||
+ | find /usr -name ' | ||
+ | </ | ||
+ | |||
+ | * Procurar todas as entradas *ab* ou *cd* (maíusculas ou minúsculas) presentes em /opt | ||
+ | < | ||
+ | find /opt -iname ' | ||
+ | </ | ||
+ | |||
+ | * 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 ===== | ||
+ | |||
+ | - 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 | ||
+ | </ | ||
+ | - 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 '' | ||
+ | - 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 '' | ||
+ | - O que faz o comando: '' | ||
+ | - O que faz o comando: '' | ||
+ | - Mostre as últimas 15 linhas do arquivo / | ||
+ | - Mostre na tela as 5 primeiras linhas do arquivo / | ||