Is there a (simple) way to feed variable with end of lines to other program in BASH? Consider example:
flist=$(ls -l)
echo $flist
echo
will replace all end of lines with spaces, so my output will be different from the content of the variable. Other example:
echo $flist | grep myfile.txt
This command will not work as expected to output only information about myfile.txt
. How do I print the line that contains myfile.txt
.
Here is one solution:
cat << EOF | grep myfile.txt
$flist
EOF
Anything less ugly?
The problem is not
echo
, is the shell. Try to use double quotes:Should work fine.