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 SysAdmin, Linux/Unix, Open Source/DevOps topics:
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 VPNCentOS 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>, <code>...</code> and <kbd>...</kbd> for code samples.