Linux / UNIX: For Loop To Remove Files

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
   # if file, delete it
   [ -f "$f" ] && rm "$f"

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 ]
 		rm "$f"

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

🐧 Get the latest tutorials on Linux, Open Source & DevOps via RSS feed or Weekly email newsletter.

🐧 0 comments... add one

CategoryList of Unix and Linux commands
File Managementcat
FirewallAlpine Awall CentOS 8 OpenSUSE RHEL 8 Ubuntu 16.04 Ubuntu 18.04 Ubuntu 20.04
Network Utilitiesdig host ip nmap
OpenVPNCentOS 7 CentOS 8 Debian 10 Debian 8/9 Ubuntu 18.04 Ubuntu 20.04
Package Managerapk apt
Processes Managementbg chroot cron disown fg jobs killall kill pidof pstree pwdx time
Searchinggrep whereis which
User Informationgroups id lastcomm last lid/libuser-lid logname members users whoami who w
WireGuard VPNAlpine CentOS 8 Debian 10 Firewall Ubuntu 20.04
0 comments… add one

Leave a Reply

Your email address will not be published.

Use HTML <pre>...</pre> for code samples. Problem posting comment? Email me @