<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>https://manuais.iessanclemente.net/index.php?action=history&amp;feed=atom&amp;title=Grep</id>
	<title>Grep - Historial de revisiones</title>
	<link rel="self" type="application/atom+xml" href="https://manuais.iessanclemente.net/index.php?action=history&amp;feed=atom&amp;title=Grep"/>
	<link rel="alternate" type="text/html" href="https://manuais.iessanclemente.net/index.php?title=Grep&amp;action=history"/>
	<updated>2026-10-22T22:14:50Z</updated>
	<subtitle>Historial de revisiones de esta página en la wiki</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://manuais.iessanclemente.net/index.php?title=Grep&amp;diff=29884&amp;oldid=prev</id>
		<title>Vieites en 18:23 7 nov 2012</title>
		<link rel="alternate" type="text/html" href="https://manuais.iessanclemente.net/index.php?title=Grep&amp;diff=29884&amp;oldid=prev"/>
		<updated>2012-11-07T18:23:21Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;: O comando &amp;#039;&amp;#039;&amp;#039;grep&amp;#039;&amp;#039;&amp;#039; nos permite buscar, dentro de arquivos, as liñas que coinciden cun patrón.&lt;br /&gt;
&lt;br /&gt;
: Por defecto, &amp;#039;&amp;#039;&amp;#039;grep&amp;#039;&amp;#039;&amp;#039; imprime as liñas encontradas na saída estándar. É dicir, que podemos velo directamente na pantalla, ou redireccionar a saída estándar a un arquivo.&lt;br /&gt;
&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Vexamos as opcións mais empregadas: &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:: &amp;#039;&amp;#039;&amp;#039;-c&amp;#039;&amp;#039;&amp;#039; Devolve só o número de liñas que coinciden, non o seu contido.&lt;br /&gt;
:: &amp;#039;&amp;#039;&amp;#039;-e PATRÓN&amp;#039;&amp;#039;&amp;#039; Permítenos especificar varios patróns de procura ou protexer aqueles patróns de procura que comezan có signo &amp;#039;&amp;#039;&amp;#039;-&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
:: &amp;#039;&amp;#039;&amp;#039;-r&amp;#039;&amp;#039;&amp;#039; Busca recursivamente dentro de todos os subdirectorios do directorio actual.&lt;br /&gt;
:: &amp;#039;&amp;#039;&amp;#039;-v&amp;#039;&amp;#039;&amp;#039; Móstranos as liñas que non coinciden có patrón buscado.&lt;br /&gt;
:: &amp;#039;&amp;#039;&amp;#039;-i&amp;#039;&amp;#039;&amp;#039; Ignora a distinción entre maiúsculas e minúsculas.&lt;br /&gt;
:: &amp;#039;&amp;#039;&amp;#039;-l&amp;#039;&amp;#039;&amp;#039; Que só mostraría os nomes dos arquivos que conteñan o obxectivo buscado.&lt;br /&gt;
:: &amp;#039;&amp;#039;&amp;#039;-n&amp;#039;&amp;#039;&amp;#039; Numera as liñas na saída.&lt;br /&gt;
:: &amp;#039;&amp;#039;&amp;#039;-E&amp;#039;&amp;#039;&amp;#039; Permítenos usar expresións regulares.&lt;br /&gt;
:: &amp;#039;&amp;#039;&amp;#039;-o&amp;#039;&amp;#039;&amp;#039; Indícalle a grep que nos mostre só a parte da liña que coincide có patrón.&lt;br /&gt;
:: &amp;#039;&amp;#039;&amp;#039;-f ARCHIVO&amp;#039;&amp;#039;&amp;#039; Extrae os patróns do arquivo que especifiquemos. Os patróns do arquivo deben ir un por liña.&lt;br /&gt;
:: &amp;#039;&amp;#039;&amp;#039;-H&amp;#039;&amp;#039;&amp;#039; Imprímenos o nome do arquivo con cada unha das coincidencias.&lt;br /&gt;
&lt;br /&gt;
: O programa &amp;#039;&amp;#039;&amp;#039;grep&amp;#039;&amp;#039;&amp;#039; toma a expresión que recibe como parámetro como unha [[Exmpresions Regulares en Linux|expresión regular básica]]. Iso quere dicir que algúns caracteres teñen un significado especial polo que hai que andar con ollo.&lt;br /&gt;
&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Vexamos algúns exemplos:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Buscar todas as liñas que conteñan a palabra &amp;#039;&amp;#039;&amp;#039;iface&amp;#039;&amp;#039;&amp;#039; no arquivo &amp;#039;&amp;#039;&amp;#039;/etc/network/interfaces&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ grep iface /etc/network/interfaces&lt;br /&gt;
# Outro xeito de facelo, sería:&lt;br /&gt;
$ cat /etc/network/interfaces | grep iface &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Buscar todas as liñas que conteñan a palabra &amp;#039;&amp;#039;&amp;#039;iface eth0&amp;#039;&amp;#039;&amp;#039; no arquivo &amp;#039;&amp;#039;&amp;#039;/etc/network/interfaces&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ grep &amp;quot;iface eth0&amp;quot; /etc/network/interfaces&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Buscar todas as liñas que teñan palabras que comecen pola letra &amp;#039;&amp;#039;&amp;#039;i&amp;#039;&amp;#039;&amp;#039; no arquivo &amp;#039;&amp;#039;&amp;#039;/etc/network/interfaces&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ grep -E &amp;#039;\&amp;lt;i.*\&amp;gt;&amp;#039; /etc/network/interfaces&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Buscar todas as liñas que comecen pola letra &amp;#039;&amp;#039;&amp;#039;i&amp;#039;&amp;#039;&amp;#039; no arquivo &amp;#039;&amp;#039;&amp;#039;/etc/network/interfaces&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ grep -E &amp;#039;^i&amp;#039; /etc/network/interfaces&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Buscar todas as liñas que rematen en por &amp;quot;.DS&amp;quot; ou &amp;quot;.DE&amp;quot;:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ grep -E &amp;#039;\.D[SE]$&amp;#039; arquivo&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Buscar todas as liñas que comecen pola letra &amp;#039;&amp;#039;&amp;#039;i&amp;#039;&amp;#039;&amp;#039; no arquivo &amp;#039;&amp;#039;&amp;#039;/etc/network/interfaces&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ grep -E &amp;#039;^i&amp;#039; /etc/network/interfaces&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Contar o número de interfaces de rede que temos definidos no ficheiro &amp;#039;&amp;#039;&amp;#039;/etc/network/interfaces&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ grep -c &amp;quot;iface eth&amp;quot; /etc/network/interfaces&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Mostrar por pantalla as liñas do arquivo &amp;#039;&amp;#039;&amp;#039;/etc/apt/sources.list&amp;#039;&amp;#039;&amp;#039; que non son comentarios:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ grep -v &amp;quot;#&amp;quot; /etc/apt/sources.list&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Buscar as liñas nas que apareza a palabra &amp;quot;UNIX&amp;quot; pero sin distinguir entre maiúsculas e minúsculas (&amp;#039;&amp;#039;ignore case&amp;#039;&amp;#039;):&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ grep -i &amp;quot;unix&amp;quot; arquivo&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Mostrar as liñas dun arquivo que contén a palabra PONTEVEDRA e LUGO:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ grep -e &amp;quot;PONTEVEDRA&amp;quot; -e &amp;quot;LUGO&amp;quot; arquivo&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Mostrar as liñas dun ficheiro que contén a palabra PONTEVEDRA e LUGO, numerando as liñas de saída:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ grep -n -e &amp;quot;PONTEVEDRA&amp;quot; -e &amp;quot;LUGO&amp;quot; arquivo&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Mostrar os ficheiros que conteñen a palabra &amp;quot;LUGO&amp;quot; no directorio actual e todos os seus subdirectorios:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ grep -r &amp;quot;LUGO&amp;quot; *&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Vexamos algúns exemplos prácticos:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Obter a dirección MAC da interfaz de rede &amp;#039;&amp;#039;&amp;#039;eth0&amp;#039;&amp;#039;&amp;#039; da nosa máquina:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ ifconfig eth0 | grep -oiE &amp;#039;([0-9A-F]{2}:){5}[0-9A-F]{2}&amp;#039;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
:: A expresión regular empregada podemos dividila en dúas partes:&lt;br /&gt;
:: - &amp;#039;&amp;#039;&amp;#039;([0-9A-F]{2}:){5}&amp;#039;&amp;#039;&amp;#039; Buscamos 5 conxuntos de 2 carateres seguidos de dous puntos.&lt;br /&gt;
:: - &amp;#039;&amp;#039;&amp;#039;[0-9A-F]{2}&amp;#039;&amp;#039;&amp;#039; Seguido por un conxunto de dous caracteres.&lt;br /&gt;
::: Como as direccións MAC se representan en hexadecimal, os caracteres que buscamos son os números do 0 ao 9 e as letras dende a A á F.&lt;br /&gt;
* Extraer a lista de direccións de correo electrónico dun arquivo:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
grep -Eio &amp;#039;[a-z0-9._-]+@[a-z0-9.-]+[a-z]{2,4}&amp;#039; fichero.txt&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
:: A expresión regular empregada podemos dividila nas seguintes partes:&lt;br /&gt;
:: - &amp;#039;&amp;#039;&amp;#039;[a-z0-9._-]+&amp;#039;&amp;#039;&amp;#039; Unha combinación de letras, números, e/ou os símbolos &amp;#039;&amp;#039;&amp;#039;.&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;_&amp;#039;&amp;#039;&amp;#039; e &amp;#039;&amp;#039;&amp;#039;-&amp;#039;&amp;#039;&amp;#039; de un ou mais caracteres.&lt;br /&gt;
:: - &amp;#039;&amp;#039;&amp;#039;@&amp;#039;&amp;#039;&amp;#039; Seguido dunha arroba.&lt;br /&gt;
:: - &amp;#039;&amp;#039;&amp;#039;[a-z0-9.-]+&amp;#039;&amp;#039;&amp;#039; Seguido dunha cadea de letras, números e/ou os símbolos &amp;#039;&amp;#039;&amp;#039;.&amp;#039;&amp;#039;&amp;#039; e &amp;#039;&amp;#039;&amp;#039;-&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
:: - &amp;#039;&amp;#039;&amp;#039;[a-z]{2,4}&amp;#039;&amp;#039;&amp;#039; Seguido dunha cadea de entre dous e catro caracteres.&lt;br /&gt;
* Obter a dirección IP da interfaz de rede &amp;#039;&amp;#039;&amp;#039;eth1&amp;#039;&amp;#039;&amp;#039; da nosa máquina:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ ifconfig eth1 | grep -oiE &amp;#039;([0-9]{1,3}\.){3}[0-9]{1,3}&amp;#039; | grep -v 255&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
:: A expresión regular empregada podemos dividila nas seguintes partes:&lt;br /&gt;
:: - &amp;#039;&amp;#039;&amp;#039;([0-9]{1,3}\.){3}&amp;#039;&amp;#039;&amp;#039; Representa 3 bloques de entre un e tres díxitos separados por puntos. Observar que, como o punto é un metacaracter, hai que empregar o caracter de escape &amp;#039;&amp;#039;&amp;#039;\&amp;#039;&amp;#039;&amp;#039; para que non sexa interpretado como un metacaracter, sinon como un caracter normal.&lt;br /&gt;
:: - &amp;#039;&amp;#039;&amp;#039;[0-9]{1,3}&amp;#039;&amp;#039;&amp;#039; Representa o último bloque da dirección IP, que está formado por un número de entre 1 y 3 díxitos.&lt;/div&gt;</summary>
		<author><name>Vieites</name></author>
	</entry>
</feed>