1

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?

1 Answer 1

4

The problem is not echo, is the shell. Try to use double quotes:

echo "$flist" | grep myfile.txt 

Should work fine.

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.