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

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

[ Hits: 4.188 ]

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

Otimizando os locais (países) para português e Brasil no Sabayon Linux

Resolvendo (ou contornando) os problemas do GoogleEarth em Linux

Atualizando K3B e Outros Pacotes no Sabayon Linux

Editando diretamente o arquivo controlador do GRUB 2

Sabayon Linux: instalando duas versões de pacotes

Leitura recomendada

Automatização da instalação do plugin JAVA (Mozilla)

awk/gawk - Vídeo tutorial

Negação Condicional no IF

Par ou Impar?

O jeito mais fácil de escrever e executar um Shell Script no Linux

  

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