Skip to main content

Can you explain how to use a for loop in Bash scripting to iterate over a list of files and perform an action on each file?

In Bash, a for loop can be used to iterate over a list of files by specifying the list directly. For example, you can use ‘for file in *.txt; do…

CY
Can you explain how to use a for loop in Bash scripting to iterate over a list of files and perform an action on each file?

COVER // CAN YOU EXPLAIN HOW TO USE A FOR LOOP IN BASH SCRIPTING TO ITERATE OVER A LIST OF FILES AND PERFORM AN ACTION ON EACH FILE?

In Bash, a for loop can be used to iterate over a list of files by specifying the list directly. For example, you can use ‘for file in *.txt; do echo $file; done’ to print each .txt file in the current directory.

In depth

A for loop in Bash allows you to execute a block of code repeatedly for each item in a list. The general syntax is 'for variable in list; do commands; done'. This is particularly useful for processing files, where you can use wildcards like *.txt to target specific file types. It's important to remember that the loop variable contains the current item, and you can perform operations on it, such as moving files, renaming them, or extracting data. Always consider edge cases like file permissions or empty directories, which can affect how your loop behaves.

Example scenario

In a production environment, you might need to back up all log files from a directory. You could write a Bash script that uses a for loop to iterate over each log file with the pattern '*.log' and copy them to a backup location. This allows for automated backups with minimal manual intervention, decreasing the risk of human error and ensuring data integrity.

Common mistakes

A common mistake is to forget the 'do' keyword, which will result in a syntax error when trying to run the script. Another mistake is using quotes around the variable name within the loop, which can prevent correct variable expansion and lead to unexpected results. Developers also often overlook that wildcards can match unexpected files, so it's important to confirm the list of files being processed.

Follow-up questions

  • How would you handle errors that occur while processing files in a loop?
  • Can you explain how you would modify this loop to skip certain files?
  • What if you wanted to use a while loop instead, how would that change your approach?
  • How can you improve the performance of your script when dealing with a large number of files?
2,000 Interview Questions and Answers PDF cover
Developer Interview Kit · PDF

Want all 2,000 questions in one PDF?

  • Short answers, in-depth explanations, common mistakes and follow-ups
  • 89 topics, from Beginner to Architect, with a clickable contents list
  • 226 extra questions that are not on this website
  • Free Bonus Pack: 30-day study plan, behavioral questions, salary scripts

Includes 226 extra questions that are not on this site, plus a free Bonus Pack.

$7.99 one-time · instant email delivery
260 Developer Learning Paths cover
Also available: 260 Developer Learning Paths $4.99 Week-by-week roadmaps for 16 career tracks (Python, React, Java, DevOps, SQL, AI and more), with a progress tracker on every path. See what's inside →

Get both books for $9.99 (save $2.99):

The material stays free to read online. This is the organised, offline, print-ready PDF edition. Secure payment by PayPal; your personal download link is emailed after payment is confirmed. Digital product, no shipping.

Let's Talk

Have a Project in Mind?

Whether it's a software challenge, an AI integration, or a course enquiry — I'm always open to a real conversation.

hello@debasisbhattacharjee.com · +91 8777088548 · Mon–Fri, 9AM–6PM IST