Onde está a linha que preciso editar? [Resolvido]

Publicado por Alberto Federman Neto. em 24/11/2014

[ Hits: 3.957 ]

Blog: https://ciencialivre.blog/

 


Onde está a linha que preciso editar? [Resolvido]



1. Introdução:

Esta é uma dica muita simples, conhecida dos usuários avançados, mas muito útil aos iniciantes, por isso a publico aqui.

Quando você está procurando determinado ARQUIVO no seu disco rígido, você pode usar certos comandos, como find, locate, comandos combinados, etc.

Veja alguns exemplo:
Eu, particularmente, acho muito prático usar o comando locate:
2. Esta dica: Aonde está a linha que preciso editar?

Agora, outro problema, suponha que você precise editar uma linha, exemplo: da placa de som, e não sabe onde essa linha está, nem arquivo, nem pasta.
Você também pode usar find, comandos combinados, até expressões regulares ou scripts, como nestes exemplos:
Mas, tem um jeito BEM SIMPLES E FÁCIL, que é com o comando grep.

Vamos supor que você queira achar uma linha, uma string, em que arquivo ou pasta está, para poder editar, proceda assim:

2.1. Para ficar bem recursivo, vá para o diretório raiz:

cd /

2.2. Agora, execute o comando para procurar onde está a linha:

grep --col -i -r 'LINHA'

Substitua LINHA, pela "String" que está procurando.
Simples, não? Se necessário (acesso negado), use sudo.

2.3. Agora uma sofisticação maior, vamos supor que você saiba que existem MUITAS Linhas com o que está procurando. Modifique o comando assim:

grep --col -i -r 'LINHA' 2>/dev/null | more

3. Explicação:

Para o iniciante compreender, as opções do comando, novamente aqui:

grep --col -i -r 'LINHA"
  • --col :: comando para ter saída colorida . Se não quiser cor, omita.
  • -i :: significa o mesmo que --ignore-case, é para achar maiúsculas e minúsculas.
  • -r :: é recursivo, como você está no diretório raiz (veja 1), procurará na partição raiz toda, todo o seu disco rígido.

E no Comando:

grep --col -ir 'LINHA' 2>/dev/null | more
  • 2>/dev/null :: é para eliminar eventuais erros ou mensagens de advertência.
  • | more :: é para "parar" a saída do terminal, de modo que você possa ver onde está a "string" ou linha.

4. Exemplos de aplicação:

Meu Sabayon, suponha, eu quero achar a variável LINGUAS, que define que meu Sabayon está em Português do Brasil. Veja:

sudo grep --color=always -ir 'LINGUAS'
etc/make.conf:LINGUAS="pt_BR.UTF-8
pt_BR.ISO8859-1 pt_BR.iso8859-1 pt_BR pt_PT en en_US en_GB"


A palavra "LINGUAS" está exatamente no /etc/make.conf.

Outro exemplo: suponha que eu quero ver no meu Linux, onde estão todas as strings chamadas "AUDIO" ou "audio":

grep --col -ir 'audio' 2>/dev/null | more
Arquivo binário bin/brltty coincide com o padrão
Arquivo binário bin/busybox coincide com o padrão
etc/nas/nasd.conf:#     A sample config file for the NAS Audio Server
etc/nas/nasd.conf:#  audio device when finished playing a sound.
etc/nas/nasd.conf:#  device open when releasing the audio device.
etc/nas/nasd.conf:# Initialize the mixer settings on every audio device open?
etc/nas/nasd.conf:#     device  "/dev/pcaudio"
etc/xdg/menus/lxlauncher-applications.menu:                             <Category>AudioVideo</Category>
etc/xdg/menus/gnome-applications.menu:    <Directory>AudioVideo.directory</Directory>
etc/xdg/menus/gnome-applications.menu:        <Category>AudioVideo</Category>
etc/xdg/menus/mate-applications.menu:    <Directory>mate-audio-video.directory</Directory>
etc/xdg/menus/mate-applications.menu:        <Category>AudioVideo</Category>
etc/xdg/menus/applications.menu:    <Directory>AudioVideo.directory</Directory>
etc/xdg/menus/applications.menu:        <Category>AudioVideo</Category>
etc/xdg/menus/enlightenment.menu:    <Directory>AudioVideo.directory</Directory>
etc/xdg/menus/enlightenment.menu:        <Category>AudioVideo</Category>
etc/xdg/menus/lxde-applications.menu:           <Directory>lxde-audio-video.directory</Directory>
etc/xdg/menus/lxde-applications.menu:                           <Category>AudioVideo</Category>
etc/xdg/menus/kde-4-applications.menu:                          <Filename>kde-audioencoding.desktop</Filename>
etc/xdg/menus/kde-4-applications.menu:                          <Category>AudioVideo</Category>
etc/xdg/menus/kde-4-applications.menu:                                  <Category>AudioVideo</Category>
etc/xdg/menus/xfce-applications.menu:            <Category>Audio</Category>
etc/xdg/menus/xfce-applications.menu:            <Category>AudioVideo</Category>
etc/xdg/Thunar/uca.xml:  <!ELEMENT action (icon|patterns|name|unique-id|command|description|directories|audio-files|image-fil
es|other-files|text-files|video-files)*>
etc/xdg/Thunar/uca.xml:  <!ELEMENT audio-files EMPTY>
etc/xdg/autostart/pulseaudio.desktop:Name=PulseAudio Sound System
etc/xdg/autostart/pulseaudio.desktop:Name[ca]=Sistema de so PulseAudio
etc/xdg/autostart/pulseaudio.desktop:Name[cs]=Zvukový systém PulseAudio


E muitas mais linhas...................>>>>>>>>>>>>>>>, é só ir dando Enter.

5. Detalhes e mais opções:

Há várias maneiras de modificar o comando, para circunscrever ou expandir sua busca, podendo combinar com find ou outros comandos.

Veja estes exemplos:
Outras dicas deste autor

MLDonkey - Um cliente P2P para várias redes e para compartilhamento direto

Aplicativo de horário e clima no GNOME e no MATE: Ribeirão Preto/SP está com o nome errado!

Resolvendo (ou contornando) os problemas do GoogleEarth em Linux

Acelerando downloads com facilidade em Firefox e SwiftWeasel

Aproveitando todo o espaço de disco ao gravar ISOs

Leitura recomendada

cut - Comando com exemplos

Como somar todos os números contidos num arquivo texto

Criando programas com opções

Aulas Shell Script do zero - Parte 7

Aulas Shell Script do zero - Parte 2

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts