Experimente o awk
awk '
NR==FNR{
A[NR]=$1
limit=NR
next
}
/^avocado/{
i=i%limit+1
$1=A[i]
}
{
print
}
' newservers.lst servers.txt
Sed também é possível:
sed '/^\s*\S\+\s*$/ { #match 1st file only
x #exchange line with holdspace
H #add pre-holdspace to pre-line
d #no print
} #result: reversed 1st file in holdspace
/^avocado/{
G #add holdspace to line
s/\S\+\(.*\)\n\(\w\+\)\n*$//
#replace 1st word by last word(from holdspace)
P #print line before holdspace resedue
s/\s[^\n]*// #remove all from 1st word to holdspace
h #return holdspace with last word became first
d #no print
}
' newservers.lst servers.txt