HowTo: Bash For While Loop Through File Contents Script

How can I iterate through each line of a text file with Bash for or while loop under Linux or Unix like operating systems?

The best way to read a text file line by line is to use the bash while loop. The while loop syntax is as follows:


Tutorial details
Difficulty Easy (rss)
Root privileges No
Requirements None
Time N/A

while read line
echo "$line"

In this example, read /etc/passwd file line by line using while loop:

while IFS= read -r line
  echo "$line"
done < "/etc/passwd"

Another example:

## ##
_file="${1:-/dev/null}"   #fail safe 
while IFS= read -r line
  # Do something on $line
  echo "$line"
done < "$_file"

Run it as follows:
chmod +x
./ /path/to/text/

🐧 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 @