Linux / UNIX: For Loop To Remove Files

Posted on in Categories last updated July 15, 2011

How do I use a for loop in Unix to remove files?

You can use the following bash for loop or ksh for loop syntax to delete files using the rm command.

Use a Bash For Loop To Delete Files in Unix

for f in /path/to/dir/*.txt
do
   # if file, delete it
   [ -f "$f" ] && rm "$f"
done

See Bash for loop tutorial for more information.

Use a KSH For Loop To Delete Files in Unix

for f in /path/to/dir/*.c~; do
        # if it is a file, delete it
	if [  -f $f ]
	then
 		rm "$f"
	fi
done

See KSH for loop tutorial for more information.

rm Command with Wild Cards

A better solution is to delete all files using wild cards as follows:

rm /path/to/dir/*.txt

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin and a trainer for the Linux operating system/Unix shell scripting. He has worked with global clients and in various industries, including IT, education, defense and space research, and the nonprofit sector. Follow him on Twitter, Facebook, Google+.

Leave a Comment