<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://aznot.com/index.php?action=history&amp;feed=atom&amp;title=Linux%2Fawk</id>
	<title>Linux/awk - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://aznot.com/index.php?action=history&amp;feed=atom&amp;title=Linux%2Fawk"/>
	<link rel="alternate" type="text/html" href="https://aznot.com/index.php?title=Linux/awk&amp;action=history"/>
	<updated>2026-05-07T03:46:28Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://aznot.com/index.php?title=Linux/awk&amp;diff=5805&amp;oldid=prev</id>
		<title>Kenneth: /* Lowercase */</title>
		<link rel="alternate" type="text/html" href="https://aznot.com/index.php?title=Linux/awk&amp;diff=5805&amp;oldid=prev"/>
		<updated>2021-01-01T20:41:43Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Lowercase&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== awk ==&lt;br /&gt;
&lt;br /&gt;
Print all columns from pipe:&lt;br /&gt;
 ... | awk &amp;#039;{print $0}&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Print columns 1 and 2 separated by spaces:&lt;br /&gt;
 ... | awk &amp;#039;{print $1, $2}&amp;#039;&lt;br /&gt;
 ... | awk &amp;#039;{print $1 &amp;quot; &amp;quot; $2}&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Grep for something&lt;br /&gt;
 ... | awk &amp;#039;/somestring/&amp;#039;&lt;br /&gt;
 ... | awk &amp;#039;/somestring/{print $1}&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sub string:&lt;br /&gt;
 ESX=$( vmware -v | awk &amp;#039;{print $2 substr($3,1,1) substr($3,3,1)}&amp;#039; )  # ESXi50&lt;br /&gt;
&lt;br /&gt;
For loop with if:&lt;br /&gt;
 echo &amp;quot;one two three four five&amp;quot; | awk &amp;#039;{for(i=1;i&amp;lt;10;i++) {if($i!=&amp;quot;&amp;quot;) printf $i &amp;quot; &amp;quot;}}&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Padding with spaces:&lt;br /&gt;
 awk &amp;#039;{printf &amp;quot;%-30s%s\n&amp;quot;, $1, $2}&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Print all remaining fields:&lt;br /&gt;
 # find longest running processes&lt;br /&gt;
 ps aux | awk &amp;#039;{ $1=$2=$3=$4=$5=$6=$7=$8=$9=&amp;quot;&amp;quot;; print $0 }&amp;#039; | sort -n&lt;br /&gt;
&lt;br /&gt;
== Uppercase Lowercase ==&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;Hello World&amp;quot; | awk &amp;#039;{print toupper($0)}&amp;#039;&lt;br /&gt;
 echo &amp;quot;Hello World&amp;quot; | awk &amp;#039;{print tolower($0)}&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== powerful awk ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;awk is a little programming language, with a syntax close to C in many aspects. It is an interpreted language and the awk interpreter processes the instructions.&lt;br /&gt;
&lt;br /&gt;
Awk is, roughly speaking, a language oriented to manage tables. That is some information which can be grouped inside fields and records. The advantage here is that the record definition (and the field definition) is flexible.&lt;br /&gt;
&lt;br /&gt;
Awk is powerful. It&amp;#039;s designed for work with one-line records, but that point could be relaxed&amp;quot;&lt;br /&gt;
&lt;br /&gt;
extract the first column from a file&lt;br /&gt;
 awk &amp;#039;{print $1}&amp;#039; file&lt;br /&gt;
&lt;br /&gt;
renaming files (append .new to &amp;quot;files_list&amp;quot;): &lt;br /&gt;
 ls files_list | awk &amp;#039;{print &amp;quot;mv &amp;quot;$1&amp;quot; &amp;quot;$1&amp;quot;.new&amp;quot;}&amp;#039; | sh&lt;br /&gt;
&lt;br /&gt;
Renaming within the name: (although in some cases it will fail, as in file_old_and_old) &lt;br /&gt;
 ls -1 *old* | awk &amp;#039;{print &amp;quot;mv &amp;quot;$1&amp;quot; &amp;quot;$1}&amp;#039; | sed s/old/new/2 | sh&lt;br /&gt;
&lt;br /&gt;
remove only files:&lt;br /&gt;
 ls -l * | grep -v drwx | awk &amp;#039;{print &amp;quot;rm &amp;quot;$9}&amp;#039; | sh&lt;br /&gt;
 # or with awk alone:&lt;br /&gt;
 ls -l|awk &amp;#039;$1!~/^drwx/{print $9}&amp;#039;|xargs rm &lt;br /&gt;
&lt;br /&gt;
remove only directories&lt;br /&gt;
 ls -l | grep &amp;#039;^d&amp;#039; | awk &amp;#039;{print &amp;quot;rm -r &amp;quot;$9}&amp;#039; | sh&lt;br /&gt;
 # or&lt;br /&gt;
 ls -p | grep /$ | wk &amp;#039;{print &amp;quot;rm -r &amp;quot;$1}&amp;#039;&lt;br /&gt;
 # or with awk alone:&lt;br /&gt;
 ls -l|awk &amp;#039;$1~/^d.*x/{print $9}&amp;#039;|xargs rm -r &lt;br /&gt;
&lt;br /&gt;
killing processes by name (in this example we kill the process called netscape):&lt;br /&gt;
 kill `ps auxww | grep netscape | egrep -v grep | awk &amp;#039;{print $2}&amp;#039;`&lt;br /&gt;
 # or with awk alone:&lt;br /&gt;
 ps auxww | awk &amp;#039;$0~/netscape/&amp;amp;&amp;amp;$0!~/awk/{print $2}&amp;#039; |xargs kill &lt;br /&gt;
&lt;br /&gt;
Source: [http://www.linuxfocus.org/English/September1999/article103.html UNIX Basics : Examples with awk: A short introduction]&lt;br /&gt;
&lt;br /&gt;
Print first two fields in opposite order:&lt;br /&gt;
 awk &amp;#039;{ print $2, $1 }&amp;#039; file&lt;br /&gt;
&lt;br /&gt;
Print lines longer than 72 characters:&lt;br /&gt;
 awk &amp;#039;length &amp;gt; 72&amp;#039; file&lt;br /&gt;
&lt;br /&gt;
Print length of string in 2nd column&lt;br /&gt;
 awk &amp;#039;{print length($2)}&amp;#039; file&lt;br /&gt;
&lt;br /&gt;
Print hi 28 times&lt;br /&gt;
 yes | head -28 | awk &amp;#039;{ print &amp;quot;hi&amp;quot; }&amp;#039;&lt;br /&gt;
 yes hi | head -n 28&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Source: [http://sparky.rice.edu/~hartigan/awk.html Hartigan/Computer/AWK]&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
*[http://www.vectorsite.net/tsawk.html An Awk Primer]&lt;br /&gt;
&lt;br /&gt;
== Famous Awk One-Liners ==&lt;br /&gt;
&lt;br /&gt;
famous [http://www.catonmat.net/blog/wp-content/uploads/2008/09/awk1line.txt Awk one-liners (.txt)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [http://www.catonmat.net/blog/awk-one-liners-explained-part-one/ Famous Awk One-Liners Explained, Part I - good coders code, great reuse]&lt;br /&gt;
* [http://www.catonmat.net/blog/awk-one-liners-explained-part-two/ Famous Awk One-Liners Explained, Part II - good coders code, great reuse]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [http://www.catonmat.net/blog/awk-nawk-and-gawk-cheat-sheet/ Awk, Nawk and GNU Awk Cheat Sheet - good coders code, great reuse]&lt;br /&gt;
** [http://www.catonmat.net/download/awk.cheat.sheet.pdf AWK Cheat-Sheet .pdf]&lt;br /&gt;
** [http://www.catonmat.net/download/awk.cheat.sheet.txt AWK Cheat-Sheet .txt]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===AWK===&lt;br /&gt;
* http://www.vectorsite.net/tsawk.html&lt;br /&gt;
* http://www.grymoire.com/Unix/Awk.html&lt;br /&gt;
* http://sparky.rice.edu/~hartigan/awk.html&lt;br /&gt;
* http://www.cs.hmc.edu/qref/awk.html&lt;br /&gt;
* http://robert.wsi.edu.pl/awk/start.html&lt;br /&gt;
* http://www.cs.ucsb.edu/~sherwood/awk/&lt;br /&gt;
* http://www.gnulamp.com/awk.html&lt;br /&gt;
* http://www.ibm.com/developerworks/library/l-awk3.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== String Manipulation ==&lt;br /&gt;
&lt;br /&gt;
[http://www.askdavetaylor.com/chopping_off_the_last_field_of_each_line.html Chopping off the last field of each line? :: Free Tech Support from Ask Dave Taylor!]:&lt;br /&gt;
 rev inputfile | cut -f2- | rev &amp;gt; outputfile&lt;br /&gt;
 awk &amp;#039;{$NF=&amp;quot;&amp;quot;; print $0}&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== keywords ==&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Linux Tools]]&lt;/div&gt;</summary>
		<author><name>Kenneth</name></author>
	</entry>
</feed>