Bash Input/Output: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 32: Line 32:


=Iterating over Lines in the Same bash Process=
=Iterating over Lines in the Same bash Process=
==With <tt>for</tt>==


<blockquote style="background-color: #f9f9f9; border: solid thin lightgrey;">
<blockquote style="background-color: #f9f9f9; border: solid thin lightgrey;">

Revision as of 21:08, 18 April 2017

Internal

Echo Multiple Lines to stdout

cat <<EOF
  blah
  ${some_var}
  blah
EOF
  • It will perform variable substitution. If you don't want that, escape \${some_var}.
  • `...` sequences should be escaped as shown here: \`...\` otherwise they will executed before the output is sent to stdout.
  • \ will join lines. If you want "\" in the output, then you should escape it:
      ...
      blah blah \\
      ...

Echo Multiple Lines into a File

(cat << EOF
blah
EOF
) > /tmp/test.txt

Iterating over Lines in the Same bash Process

With for

Iterating over Lines in the Same bash Process

Extracting a Line Specified by Its Number from a File

With head and tail

Extract line 15 (line numbers are 1-based):

cat ./test.txt | head -15 | tail -1

With sed

Print a Line Specified by Its Number with sed