<?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=Awk</id>
	<title>Awk - 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=Awk"/>
	<link rel="alternate" type="text/html" href="https://manuais.iessanclemente.net/index.php?title=Awk&amp;action=history"/>
	<updated>2026-10-22T06:43:23Z</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=Awk&amp;diff=39706&amp;oldid=prev</id>
		<title>Vieites: Página creada con «O [http://www.loquefaltaba.com/documentacion/Manual_Awk_castellano.pdf awk] é unha linguaxe de progración empregada para traballar con texto. Así permite modificar carac...»</title>
		<link rel="alternate" type="text/html" href="https://manuais.iessanclemente.net/index.php?title=Awk&amp;diff=39706&amp;oldid=prev"/>
		<updated>2013-11-26T19:45:26Z</updated>

		<summary type="html">&lt;p&gt;Página creada con «O [http://www.loquefaltaba.com/documentacion/Manual_Awk_castellano.pdf awk] é unha linguaxe de progración empregada para traballar con texto. Así permite modificar carac...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;O [http://www.loquefaltaba.com/documentacion/Manual_Awk_castellano.pdf awk] é unha linguaxe de progración empregada para traballar con texto. Así permite modificar caracteres de texto sendo comunmente empregado para presentar ou gardar en variables o texto que nos interesa.&amp;lt;br /&amp;gt;&lt;br /&gt;
:: &amp;#039;&amp;#039;&amp;#039;awk -&amp;gt; Exemplo 1: Imprimir a primeira columna da saída da execución do comando ls -l&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:::: &amp;#039;&amp;#039;NOTA: Por defecto o carácter espazo determina a separación entre columnas&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;alumno@gnu-linux:~/temporal$ ls -l&lt;br /&gt;
total 8&lt;br /&gt;
-rw-r--r-- 1 alumno alumno 24 2010-12-27 23:29 texto.txt&lt;br /&gt;
-rw-r--r-- 1 alumno alumno 36 2010-12-23 20:39 usuarios.txt&lt;br /&gt;
alumno@gnu-linux:~/temporal$ ls -l | awk &amp;#039;{print $1}&amp;#039;&lt;br /&gt;
total&lt;br /&gt;
-rw-r--r--&lt;br /&gt;
-rw-r--r--&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
:: &amp;#039;&amp;#039;&amp;#039;awk -&amp;gt; Exemplo 2: Imprimir a primeira e oitava columna da saída da execución do comando ls -l&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
alumno@gnu-linux:~/temporal$ ls -l | awk &amp;#039;{print $1 &amp;quot; &amp;quot; $8}&amp;#039;&lt;br /&gt;
total &lt;br /&gt;
-rw-r--r-- texto.txt&lt;br /&gt;
-rw-r--r-- usuarios.txt&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
:: &amp;#039;&amp;#039;&amp;#039;awk -&amp;gt; Exemplo 3: Concatenar awk. Imprimir a primeira e oitava columna da saída da execución do comando ls -l, e logo dividir en columnas mediante o caracter punto&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
alumno@gnu-linux:~/temporal$ ls -l | awk &amp;#039;{print $1 &amp;quot; &amp;quot; $8}&amp;#039; | awk -F. &amp;#039;{print $1 &amp;quot; &amp;quot; $2 &amp;quot; &amp;quot; $3}&amp;#039;&lt;br /&gt;
total   &lt;br /&gt;
-rw-r--r-- texto txt &lt;br /&gt;
-rw-r--r-- usuarios txt &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:: &amp;#039;&amp;#039;&amp;#039;awk -&amp;gt; Exemplo 4: Imprimir por pantalla o número total de bytes de todos os ficheiros do directorio actual que foron modificados por última vez en Febreiro de 2011: &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
alumno@gnu-linux:~/temporal$ ls -l | awk &amp;#039;$6 ~ /2011-02-/ { sum += $5 } END { print sum }&amp;#039;&lt;br /&gt;
36022&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:: Tanto &amp;#039;&amp;#039;&amp;#039;sed&amp;#039;&amp;#039;&amp;#039; como &amp;#039;&amp;#039;&amp;#039;awk&amp;#039;&amp;#039;&amp;#039; son parte fundamental na execución dos scripts, pois permiten execucións dinámicas co mesmo código fonte, é dicir, o mesmo código pode xerar unha saída executable totalmente distinta. Por exemplo supoñamos o seguinte escenario:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Temos un &amp;#039;&amp;#039;firewall&amp;#039;&amp;#039;, digamos &amp;#039;&amp;#039;iptables&amp;#039;&amp;#039;, que impide acceder a un servizo tcp no porto 22 (ssh)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Creamos un script que permite abrir ese porto, por exemplo contendo a seguinte liña de código:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
iptables -I INPUT -p tcp --dport 22 -j ACCEPT&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
Neste caso non fai falla empregar &amp;#039;&amp;#039;sed&amp;#039;&amp;#039; e &amp;#039;&amp;#039;awk&amp;#039;&amp;#039; posto que o porto sempre é o mesmo. Agora ben, supoñamos este outro escenario:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Temos un servizo que non ten claro que portos empregar, por exemplo &amp;#039;&amp;#039;&amp;#039;nfs&amp;#039;&amp;#039;&amp;#039;, podemos averiguar en cada momento que portos está empregando mediante o comando &amp;#039;&amp;#039;rpcinfo -p&amp;#039;&amp;#039;, e co mesmo podemos ver que ser reiniciamos o servizo nfs na próxima execución os portos empregados non son os mesmos, entón agora como podemos facer que o noso script de forma estática abra eses portos? &lt;br /&gt;
&amp;lt;li&amp;gt;Xa que cambian poderiamos coller eses portos no script como variables e facer que a sintaxe anterior difira mais ou menos na seguinte:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
iptables -I INPUT -p tcp --dport $PORTO_DINAMICO -j ACCEPT&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Agora ben, como facemos para coller eses portos, pois si, con &amp;#039;&amp;#039;sed&amp;#039;&amp;#039; e &amp;#039;&amp;#039;awk&amp;#039;&amp;#039;. Mediante &amp;#039;&amp;#039;&amp;#039;sed&amp;#039;&amp;#039;&amp;#039; podemos variar as expresións á nosa vontade, por exemplo: que desaparezan os espazos, que un patrón de texto cambie... e con &amp;#039;&amp;#039;&amp;#039;awk&amp;#039;&amp;#039;&amp;#039; podemos separar por caracteres calquera saída en columnas &amp;#039;&amp;#039;-considerando a separación de columnas, por defecto, mediante o caracter espazo ou ben por outro caracter que indiquemos-&amp;#039;&amp;#039;, co cal, se nunha saída de execución de comandos temos digamos 5 columnas, podemos recoller a columna desexada na variable pertinente.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
A potencia do &amp;#039;&amp;#039;sed&amp;#039;&amp;#039; e &amp;#039;&amp;#039;awk&amp;#039;&amp;#039; é abismal xa que permite dinamizar os scripts.&lt;/div&gt;</summary>
		<author><name>Vieites</name></author>
	</entry>
</feed>