Linux comando grep exemplos simples

O comando Grep no Unix/Linux é uma ferramenta poderosa que procura combinar uma expressão regular com o texto em um arquivo, vários arquivos ou um fluxo de entrada. Ele procura o padrão de texto que você especifica na linha de comando e imprime a saída para você. Além disso, três programas variantes egrep, fgrep e rgrep estão disponíveis.

1) egrep é o mesmo que grep -E
2) fgrep é o mesmo que grep -F
3) rgrep é o mesmo que grep -r

A chamada direta do egrep ou do fgrep foi descontinuada, mas é fornecida para permitir que aplicativos históricos que dependem deles sejam executados sem modificação.

Exemplo de comando grep no Unix/Linux: digamos se você deseja pesquisar rapidamente a string linux nos arquivos .html da sua máquina? Aqui, nossa string PATTERN é “linux” e nosso FILE é index.html

Procure uma string “linux” em um arquivo usando o comando grep. Este é o uso básico do comando grep. Ele procura a sequência especificada no arquivo especificado.

grep “linux” index.html

Pesquisa de caso insensível com grep -i. O comando grep abaixo procura por palavras como “LINUX”, “Linux”, “linux” maiúsculas e minúsculas.

grep -i “linux” index.html

Procurando por uma sequência em vários arquivos. Este comando procurará a string “linux” em vários arquivos ao mesmo tempo. Ele pesquisa em todos os arquivos com file1.txt, file2.txt e em diferentes extensões, como file1.html, file2.php e assim por diante.

grep “linux” file*.*

Especificando a sequência de pesquisa como um padrão de expressão regular. É um recurso muito poderoso e pode ser usado como uma expressão regular com muita eficácia. No exemplo abaixo, ele procura por todo o padrão que começa com “fast” e termina com “host” com qualquer coisa intermediária. ou seja, para pesquisar “rapidamente [qualquer coisa no meio] host” no arquivo index.html.

grep “fast.*host” index.html

Procurar no diretório atual somente por arquivos .mp3

find . –name “*.mp3” | grep –i artista | grep –vi “love”

Exibindo os números de linha. Você pode usar este comando grep para exibir o número da linha que contém a sequência correspondente em um arquivo usando a opção -n.

grep -n “palavra*” file.txt

Destacando a pesquisa usando grep. Se usarmos a opção –color, nossas correspondências bem-sucedidas serão destacadas para nós.

grep –color “linux” index.html

Imprima a linha excluindo o padrão usando a opção -v. Liste todas as linhas do arquivo /etc/passwd que não contêm a palavra específica “string”.

grep -v linux /etc/passwd

Remover todas as linhas comentadas? Bem, você pode! Basta executar o seguinte:

grep -v “#” ~/.bashrc

grep -v “#” ~/bin/meu_velho_script.sh

PODE MANDAR A SAÍDA PARA UM ARQUIVO:

grep -v “#” ~/.bashrc > arq_bashrc_sem_coments.txt

grep -v “#” ~/bin/meu_velho_script.sh > velho_script_sem_coment.txt

Exiba todas as linhas que começam com o padrão especificado usando o símbolo ^. O Bash shell trata o símbolo da cenoura (^) como um caractere especial que é tratado como o início da linha. Vamos exibir as linhas que começam com a palavra “raiz” no arquivo /etc/passwd.

grep ^root /etc/passwd

Exiba todas as linhas que terminam com o padrão especificado usando o símbolo $. Liste todas as linhas de /etc/passwd que terminam com a palavra “bash”.

grep bash$ /etc/passwd

Pesquise o padrão recursivamente usando a opção -r. O comando abaixo pesquisará o linux no diretório “/etc” recursivamente.

grep -r linux /etc/

Contando as linhas quando as palavras coincidem. Este comando grep pode relatar o número de vezes que o padrão corresponde a cada arquivo usando a opção -c (count).

grep -c ‘test’ ~/TESTE/test.txt

Conclusão:

Você já foi confrontado com a tarefa de procurar uma determinada sequência ou padrão em um arquivo, mas não tem idéia por onde começar a procurar? Bem, então, aqui está grep para o resgate! Já dá para ter uma idéia do uso básico do comando grep com diferentes padrões de busca. O comando grep é bem útil para quem tem/trabalha com servidor(es) Linux. Mas pode ser útil até mesmo em casa no seu dia-dia.

Linux, Aprendendo o comando grep e o comando find


.

Bom, eu estou precisando mesmo muito aprender sobre o comando grep e o comando find. Coisas da vida.

.

Vou pesquisar...

.

COMANDO GREP

.

Quando busca por informações a respeito do comando grep usando comando: greg --help. info grep, man grep

Aparece em alguma lugar: grep [expressão] [arquivo] [opções]

.

HÁ DE SE APRENDER QUE:

.

EXPRESSÃO é palavra ou frase que será procurada no texto. Se tiver mais de 2 palavras você deve identifica-la com aspas "" caso contrário o grep assumirá que a segunda palavra é o arquivo. Para entender melhor o funcionamento da expressão, procure saber sobre EXPRESSÕES REGULARES.

.

ARQUIVO é onde será feita a procura.

.

OPÇÕES podem ser: -A, -B, -f, -h, -i , -n, -U

.

O QUE SIGNIFICAM as opções -A, -B, -f, -h, -i , -n, -U ?

.

-A [número]

A opção -A, Mostra o [número] de linhas após a linha encontrada pelo grep.

.

-B [número]

A opção -B, Mostra o [número] de linhas antes da linha encontrada pelo grep.

.

-f [arquivo]

A opção -f, Especifica que o texto que será localizado, esta no arquivo [arquivo].

.

-h, --no-filename

A opção -h, Não mostra os nomes dos arquivos durante a procura.

.

-i, --ignore-case
A opção -i, Ignora diferença entre maiúsculas e minúsculas no texto procurado e arquivo.

.

-n, --line-number
A opção -n, Mostra o nome de cada linha encontrada pelo grep.

-U, --binary
A opção -U, Trata o arquivo que será procurado como binário.

.

SE NÃO FOR ESPECIFICADO O NOME DE UM ARQUIVO OU SE FOR USADO UM HÍ­FEN "-", grep PROCURARÁ A STRING NO DISPOSITIVO DE ENTRADA PADRÃO.

.

O grep faz sua pesquisa em arquivos texto.

.

USE O COMANDO zgrep PARA PESQUISAR DIRETAMENTE EM ARQUIVOS COMPACTADOS COM GZIP, OS COMANDOS E OPÇÕES SÃO AS MESMAS.

.

Exemplos: grep "capitulo" texto.txt, ps ax|grep inetd, grep "capitulo" texto.txt -A 2 -B 2.

.

COMANDOS GREP, FGREP E EGREP

.

Procuram em um ou mais arquivos por linhas que contém um padrão de busca (expressão regular simples ou estendida).

.

SINTAXE:

grep [opções] padrão arquivos

fgrep [opções] padrão arquivos

egrep [opções] padrão arquivos

.

OPÇÕES:

-F :: O mesmo que fgrep. Interpreta padrão como uma expressão regular sem metacaracteres.

-E :: Similar a egrep. Interpreta padrão como uma expressão regular estendida.

-r :: Faz procura recursiva.

-e expr :: Procura pela expressão regular expr.

-n :: Exibe o número de linhas que contém o padrão.

-c :: Exibe apenas o número de linhas que contém o padrão de busca.

-f arquivo :: Lê o padrão a partir do arquivo especificado.

-i :: Não diferencia maiúsculas de minúsculas na procura.

-l :: Exibe os nomes de arquivos que contém o padrão.

-v :: Exibe as linhas que não contém o padrão.

-w :: Procura apenas palavras inteiras.

.

OBSERVAÇÃO:

recomenda-se que o padrão esteja entre apóstrofos ('), pois alguns caracteres tem significado especial para o shell e podem ser interpretados erroneamente.

.

EXEMPLOS:

Procura a palavra "tee" dentro do arquivo /etc/info-dir e exibe o número da linha onde ela ocorre:

grep -n tee /etc/info-dir

70:* tee: (sh-utils) tee invocation. Redirect to multiple files

.

Procura todos os arquivos abaixo de /etc que possuem a palavra mouse:

grep -r mouse /etc/*

.

Outros exemplos:

grep -n root /etc/passwd

grep -v bash /etc/passwd | grep -v nologin

grep -c false /etc/passwd

.

COMANDO FIND

.

O comando find Procura por arquivos/diretórios no disco. O comando find pode procurar arquivos através de sua data de modificação, tamanho, etc através do uso de opções. O comando find, ao contrário de outros programas, usa opções longas através de um "-".

.

find [diretório] [opções/expressão]

Onde:

DIRETÓRIO

O diretório Inicia a procura neste diretório, percorrendo seu sub-diretórios.

.

opções/expressão

.

-name [expressão]
A opção -name procura pelo nome, pela expressão, nos nomes de arquivos e diretórios processados.

.

-depth
A opção -depth processa os sub-diretórios primeiro antes de processar os arquivos do diretório principal.

.

-maxdepth [num]
A opção -maxdepth faz a procura até sub-diretórios dentro do diretório que está sendo pesquisado.

.

-mindepth [num]
A opção não faz nenhuma procura em diretórios menores devem ser indicados numericamente.

.

-mount, -xdev
A opção não faz a pesquisa em sistemas de arquivos diferentes daquele de onde o comando find foi executado.

.

-amin [num]
A opção procura por arquivos que foram acessados [num] minutos atrás. Caso for antecedido por "-", procura por arquivos que foram acessados entre [num] minutos atrás até agora.

.

-atime [num]
A opção procura por arquivos que foram acessados [num] dias atrás. Caso for antecedido por "-", procura por arquivos que foram acessados entre [num] dias atrás e a data atual.

.

-gid [num]
A opção procura por arquivos que possuam a identificação numérica do grupo igual a [num].

.

-group [nome]
A opção procura por arquivos que possuam a identificação de nome do grupo igual a [nome].

.

-uid [num]
A opção procura por arquivos que possuam a identificação numérica do usuário igual a [num].

.

-user [nome]
A opção procura por arquivos que possuam a identificação de nome do usuário igual a [nome].

.

-inum [num]
A opção procura por arquivos que estão localizados no inodo [num].

.

-links [num]
A opção procura por arquivos que possuem [num] links como referência.

.

-mmin [num]
A opção procura por arquivos que tiveram seu conteúdo modificado há [num] minutos. Caso for antecedido por "-", procura por arquivos que tiveram seu conteúdo modificado entre [num] minutos atrás até agora.

.

-mtime [num]
A opção procura por arquivos que tiveram seu conteúdo modificado há [num] dias. Caso for antecedido por "-", procura por arquivos que tiveram seu conteúdo modificado entre [num] dias atrás até agora.

.

-ctime [num]
A opção procura por arquivos que teve seu status modificado há [num] dias. Caso for antecedido por "-", procura por arquivos que tiveram seu conteúdo modificado entre [num] dias atrás até agora.

.

-nouser
A opção procura por arquivos que não correspondam a identificação do usuário atual.

.

-nogroup
A opção procura por arquivos que não correspondam a identificação do grupo do usuário atual.

.

-perm [modo]
A opção procura por arquivos que possuam os modos de permissão [modo]. Os [modo] de permissão pode ser numérico (octal) ou literal.

.

-used [num]
O arquivo foi acessado [num] vezes antes de ter seu status modificado.

.

-size [num]
A opção procura por arquivos que tiverem o tamanho [num]. [num] pode ser antecedido de " " ou "-" para especificar um arquivo maior ou menor que [num]. A opção -size pode ser seguida de:

b - Especifica o tamanho em blocos de 512 bytes. É o padrão caso [num] não seja acompanhado de nenhuma letra.

c - Especifica o tamanho em bytes.

k - Especifica o tamanho em Kbytes.

.

-type [tipo]
A opção procura por arquivos do [tipo] especificado. Os seguintes tipos são aceitos:

b - bloco

c - caracter

d - diretório

p - pipe

f - arquivo regular

l - link simbólico

s - sockete

.

A maior parte dos argumentos numéricos podem ser precedidos por " " ou "-". Para detalhes sobre outras opções e argumentos, consulte a página de manual.

.

Exemplos:

find / -name grep - Procura no diretório raí­z e sub-diretórios um arquivo/diretório chamado grep.

find / -name grep -maxdepth 3 - Procura no diretório raí­z e sub-diretórios até o 3o. ní­vel, um arquivo/diretório chamado grep.

find . -size 1000k - Procura no diretório atual e sub-diretórios um arquivo com tamanho maior que 1000 kbytes (1Mbyte).

find / -mmin 10 - Procura no diretório raí­z e sub-diretórios um arquivo que foi modificado há 10 minutos atrás.

find / -links 4 - Procura no diretório raí­z e sub-diretórios, todos os arquivos que possuem 4 links como referência.

find / -type d -size +1000k - Procura no diretorio raíz e sub-diretórios, diretórios maiores que 1000 kbytes.

.

Com este material, crio um arquivo de texto para ler no smartphone.

.

Visito:

https://pt.wikibooks.org/wiki/Guia_do_Linux/Iniciante%2BIntermedi%C3%A1rio/Comandos_diversos/find

.

Um Solus - reminder - Ambientes de Trabalho Solus

.

O Solus possui neste momento vários ambientes de desktop. Entre eles, 3 ótimos ambiente de trabalho são os principais.

.

O Budgie

.

O Gnome

.

O Mate

.

Como instalar?

.

Desktop Environments

.

1
O Budgie, comando: sudo eopkg install -c desktop.budgie

.

2
O Gnome, comandos: sudo eopkg rm lightdm ; sudo eopkg install gdm gnome-shell gnome-desktop-branding

.

3
O Mate, comando: sudo eopkg install -c desktop.mate

.

fonte: https://solus-project.com/articles/software/desktop-environments/en/

.

Até Breve

:)

.