I am using below code
#! /bin/bash
for host in $(cat ./server.txt)
do
echo "$host"
done
server.txt contains :
server1.com
server2.com
server3.com
server4.com
But the above code is giving below output:
server1.com
server2.com
server3.com
server4.com
i.e its not taking account of empty lines.How can I fix that?
With the code you provided, the file as a single string is given as the 4th argument to the
for
command. The shell then splits the string using arbitrary whitespace as a delimiter (assuming you have not altered theIFS
variable).empty lines are not there because they are considered whitespaces used to separate word values.
use this:
awk '{print $1}' server.txt
Alternative