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

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

[ Hits: 4.250 ]

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

Instalando webcams simples em Linux

Melhorando a conexão Wi-Fi

Seu compilador GCC não funciona mais, como solucionar?

Contornando problemas de falta de bibliotecas - Links simbólicos

Acelerando downloads com facilidade em Firefox e SwiftWeasel

Leitura recomendada

Variáveis em bash

who - Comando com exemplos

E-book GRATUITO de Shell Script do Júlio Neves

Converter maiúsculos em minúsculos e vice-versa com shell

Capturando screenshots com Shell Script

  

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