Bash Read File line by line

To Read File line by line in Bash Scripting, following are some of the ways explained in detail.

Example 1 – Read File Line by Line Using While Loop

Following is the syntax of reading file line by line in Bash using bash while loop.

Syntax

</>
Copy
while read line; do    
    # line is available for processing
    echo $line    
done < fileName

Input File

Learn Bash Scripting.
Welcome to TutorialKart!
Learn Bash with examples.

Bash Script File

</>
Copy
#!/bin/sh

i=1

while read line; do    
    # line is available for processing
    echo Line $i : $line    
    i=$(( i + 1 ))
done < sampleFile.txt

Output

~/workspace/bash/file$ ./read-file-line-by-line 
Line 1 : Learn Bash Scripting.
Line 2 : Welcome to TutorialKart!
Line 3 : Learn Bash with examples.

Example 2 – Read File Line by Line Preventing Backslash Escapes

To prevent backslash escapes while reading file line by line in bash, use -r option of read command.

Syntax

</>
Copy
while read -r line; do    
    # line is available for processing
    echo $line    
done < fileName

Bash Script File

</>
Copy
#!/bin/sh

i=1

while read -r line; do    
    # line is available for processing
    echo Line $i : $line    
    i=$(( i + 1 ))
done < sampleFile.txt

Output

~/workspace/bash/file$ ./read-file-line-by-line 
Line 1 : Learn Bash Scripting.
Line 2 : Welcome to TutorialKart!
Line 3 : Learn Bash with examples.

Example 3 – Prevent Trimming Leading or Trailing Whitespaces

To prevent trimming of leading or trailing white-spaces while reading file line by line in bash, use IFS command in conjunction with read command :

Syntax

</>
Copy
while IFS= read line; do    
    # line is available for processing
    echo $line    
done < fileName

Bash Script File

</>
Copy
#!/bin/sh

i=1

while IFS= read line; do    
    # line is available for processing
    echo Line $i : $line    
    i=$(( i + 1 ))
done < sampleFile.txt

Output

~/workspace/bash/file$ ./read-file-line-by-line 
Line 1 : Learn Bash Scripting.
Line 2 : Welcome to TutorialKart!
Line 3 : Learn Bash with examples.

Conclusion

In this Bash Tutorial, we have learnt to read a file line by line in bash scripting with examples.