cool-sites-net.com
Home :> About Us :> Add Url :> Privacy Policy :> Terms of Use :> Add Your Article
Search:   
Add URL
 

Recreation & Entertainment

Society & Issues

Health & Hygiene

Finance & Banking

Food & Recipe

Careers & Employment

Teens & Children

Medical Care

Garden & Home

Realty & Property

Fashion & Relationships

Automotive

Shopping Online

Outdoor & Sports

Research & Science

Politics & Government

Events & News

Education & Reference

Business & Commerce

Hotels & Travel

Indoor Games

Self Healing

Internet & Computers

Art & Culture

 

Home › Internet & Computers › Computer Operating Systems
 

Power of the Unix 'for' Loop

 

Author: Praveen Puri

If you are a programmer or engineer working in a unix or linux environment, you will probably find the shell 'for' loop to be a handy tool for automating command line tasks.

Here are three examples of the 'for' loop. All the commands are in italics and should be entered on the command line, followed by a carriage return. Note that, after entering the initial 'for' line, you will get the secondary unix prompt (usually a '>').

1. Rename all ".old" files in the current directory to ".bak":

for i in *.old

do

j=`echo $i|sed 's/old/bak/'`

mv $i $j

done


Here, we looped thru all files with extension ".old", setting the variable "i" to be the file name we are currently looping thru. Then, between the "do" and "done", we have the body of the loop. On each pass, we echo the file name ("i") to the unix stream editor sed. Sed replaces the "old" with "bak" (so file "a.old" becomes "a.bak"), and saves the changed name to variable "j". Then, we use the unix move (mv) command to rename the original file (ex. a.old) to the new file (a.bak).



2. Change all instances of "yes" to "no" in all ".txt" files in the current directory. Back up the original files to ".bak".

for i in *.txt

do

j=`echo $i|sed 's/txt/bak/'`

mv $i $j

sed 's/yes/no/' $j > $i

done


In this case, we rename each file from ".txt" to ".bak". Additionally, we use sed a second time, on the contents of the original file (now with a ".bak" extension) and save the modified text back to the original name (with ".txt").



3. Loop thru a text file containing possible file names. If the file is readable, print the first line, otherwise print an error message:

for i in `cat file_list.txt`

do

if test -r $i

then

echo "Here is the first line of file: $i"

sed 1q $i

else

echo "file $i cannot be open for reading."

fi

done


Here, we loop thru the results of a command (in this case "cat"), rather than looping thru files in the directory. We also use an if statement with the "test" command to test for a condition (in this case, whether the file is readable).

Author Bio:
Praveen Puri is an authority in this industry. Praveen has written several articles in the past on this subject.
You can also reach this article by using: operating system, linux operating system, computer operating systems, free operating systems
 
 
 

Related Articles

 
Computer Consulting Time Constraints
 
Search Engine Optimization and Web Site Usability
 
Signs That Your Home Computer Is Infected by Spyware or Adware
 
Is Email Marketing Still Effective?
 
Internet Dial Up Access Numbers
 
Do You Bank Online?
 
Niche Websites - Content, What Content?
 
I Was Wondering About the Human Genome Project
 
Pixels Worth a Thousand
 
Writing and the Pursuit of Knowledge
 
 
 
 
 

Why Use Free Article Submission?

Free article submission is a really great thing. This is an excellent method for webmasters out ther ... - Susan Dean
 

What is the most effective way to build links for your site?

Effective way to build links for your site - here is how. - Kausik Dutta
 

Read This Article if You Want to Get to Know Me Better

It is amazing how humans seek out companionship and it appears in an observation of over all society ... - Lance Winslow
 
 

Why We Need A La Carte Cable Television

We need a la carte cable television. Cable has become a laggard in free market competition, and tech ... - Nader Ghali
 

Local Search Marketing Makes the Phone Ring!

Local Search Marketing makes the phone ring! or "A call is worth 15 times a click" - Monte Huebsch
 
 
Home :> Privacy Policy :> Terms of Use  
Copyright © www.coolsitesnet.com - All Rights Reserved Worldwide.