“Awk" command illustration on how to process input strings
and get desired output.
Example below shows how "Awk" manipulates the string to get the data needed.
Below shows the output normal output listing of "ls -l" command.
Output of "ls" below has "9" columns separated by
space in between the columns.
"d" = In Linux if the listing starts with "d" it shows that the filename listed at the "9th" column or the last column is the name of the directiry.
"-" = In Linux if the listing starts with "-" it indicates that the data is just a regular file or not a directory of course.
Those are commonly used naming convention or indicators to determine the type of data. There are some other indicators used such as for symbolic links and hard links.
"d" = In Linux if the listing starts with "d" it shows that the filename listed at the "9th" column or the last column is the name of the directiry.
"-" = In Linux if the listing starts with "-" it indicates that the data is just a regular file or not a directory of course.
Those are commonly used naming convention or indicators to determine the type of data. There are some other indicators used such as for symbolic links and hard links.
[ttxers@farmx99 honey_store]$ ls -l
total 16
drwx------ 3 branchx branchx 4096 Apr 26 2015 lists
drwx------ 3 branchx branchx 4096 Jun 30 2015 mailers
drwx------ 4 branchx branchx 4096 Apr 26 2015 spammers
drwx------ 3 branchx branchx 4096 Apr 26 2015 xmsxx
"Awk" command that prints columns
6 to 9. awk '{print
$6,$7,$8,$9}'
The above awk print command can be illustrated as: awl '{print $col_number, $col_number}'
$6, $7, $8, $9 represent the columns from the ls -l output.
The "," between $6 to $9 will provide a space
between each column. Or you can replace it with any character of your choice.
[ttxers@farmx99 honey_store]$ ls -l | awk '{print
$6,$7,$8,$9}'
Sample output produce by above command:
Apr 26 2015 lists
Jun 30 2015 mailers
Apr 26 2015 spammers
Apr 26 2015 xmsxx
Sort the output by month using the sort -M command.
[ttxers@farmx99 honey_store]$ ls -l | awk '{print
$6,$7,$8,$9}' | sort -M
Apr 26 2015 lists
Apr 26 2015 spammers
Apr 26 2015 xmsxx
Jun 30 2015 mailers
To replace the white space and used other character use the
command below:
[ttxers@farmx99 honey_store]$ ls -l | awk '{print $6
"-" $7 "-" $8 "-" $9}'
---
Apr-26-2015-lists
Jun-30-2015-mailers
Apr-26-2015-spammers
Apr-26-2015-xmsxx
Search the web for some complex examples. Start with basic and simple example to grasp the fundamental usage.
An example to delete files using Awk and Grep command.
ls -l | grep "A001*.eml" | awk '{print $9}' | echo $(xargs)
ls -l | grep "A001*.eml" | awk '{print $9}' | rm -f $(xargs)
Before deleting the file use the echo command to check which files are filtered by the grep command.
The rm -f will perform a force deletion without any prompt.
To delete a single file:
ls -l | grep "2013" | awk '{print $9}' | yes | rm A0010002.eml
Please do a test with a dummy data before executing the command in a production environment or else data loss will be the consequence.
Deletion will cause more harm than good, if not planned carefully and the person pressing the "enter" key does not exactly know what he/she is doing.
An example to delete files using Awk and Grep command.
ls -l | grep "A001*.eml" | awk '{print $9}' | echo $(xargs)
ls -l | grep "A001*.eml" | awk '{print $9}' | rm -f $(xargs)
Before deleting the file use the echo command to check which files are filtered by the grep command.
The rm -f will perform a force deletion without any prompt.
To delete a single file:
ls -l | grep "2013" | awk '{print $9}' | yes | rm A0010002.eml
Please do a test with a dummy data before executing the command in a production environment or else data loss will be the consequence.
Deletion will cause more harm than good, if not planned carefully and the person pressing the "enter" key does not exactly know what he/she is doing.
Cheers..till next time..
============================================
Linux Android App cheat sheet:
https://play.google.com/store/apps/details?id=com.LinuxMobileKit
Free Android Apps:
Click on links below to find out more:
https://play.google.com/store/apps/details?id=soulrefresh.beautiful.prayer
Catholic Rosary Guide for Android:
https://play.google.com/store/apps/details?id=com.myrosaryapp
http://quickbytesstuff.blogspot.sg/2014/09/how-to-recite-rosary.html
Divine Mercy Chaplet Guide (A Powerful prayer):
https://play.google.com/store/apps/details?id=com.dmercyapp
Educational Android App for Kids:
https://play.google.com/store/apps/details?id=com.xmultiplication
https://play.google.com/store/apps/details?id=com.letsmultiply
============================================
Linux Android App cheat sheet:
https://play.google.com/store/apps/details?id=com.LinuxMobileKit
Free Android Apps:
Click on links below to find out more:
https://play.google.com/store/apps/details?id=soulrefresh.beautiful.prayer
Catholic Rosary Guide for Android:
https://play.google.com/store/apps/details?id=com.myrosaryapp
http://quickbytesstuff.blogspot.sg/2014/09/how-to-recite-rosary.html
Divine Mercy Chaplet Guide (A Powerful prayer):
https://play.google.com/store/apps/details?id=com.dmercyapp
Educational Android App for Kids:
https://play.google.com/store/apps/details?id=com.xmultiplication
https://play.google.com/store/apps/details?id=com.letsmultiply
Comments
Post a Comment