Sometimes simplest things take your time in shell scripting like crazy.
Content='me \n you \n him \n'
echo $Content > Names.txt
When I open the Names.txt it has two empty lines at the end.
I want it to only have one empty line. The Content variable is calculated in a loop and in each iteration it adds a new line to it. Thus I can't change Content.
I can't use echo -n because it removes all new lines.
I can't remove the \n from my loop, because in that case all lines are concatenated to each other.
I tried Content=$(echo $Content | awk 'NR>1{print PREV} {PREV=$0} END{printf("%s",$0)}') to use awk to remove the trailing newline, but it does not work. I took it from an answer on this site.
I tried to use printf %s $Content > File.txt instead of echo -e, still no success.
How can I either remove the trailing newline from a given string variable or write it as is to the file and tell Linux not to append yet another line to it?