Difference between revisions of "variable usage in sed commands"
From thelinuxwiki
(Created page with " Example print only lines 2 through 4 of file $ '''printf "one\ntwo\nthree\nfour\nfive\n" | sed -n '2,4p'''' <br>two <br>three <br>four same using variables START=2 END=4 ...") |
|||
Line 12: | Line 12: | ||
START=2 | START=2 | ||
− | END=4 | + | <br>END=4 |
$ '''printf "one\ntwo\nthree\nfour\nfive\n" | sed -n "${START},${END}p"''' | $ '''printf "one\ntwo\nthree\nfour\nfive\n" | sed -n "${START},${END}p"''' |
Revision as of 20:11, 24 January 2018
Example
print only lines 2 through 4 of file
$ printf "one\ntwo\nthree\nfour\nfive\n" | sed -n '2,4p'
two
three
four
same using variables
START=2
END=4
$ printf "one\ntwo\nthree\nfour\nfive\n" | sed -n "${START},${END}p"
two
three
four
Examples that FAIL...
$ printf "one\ntwo\nthree\nfour\nfive\n" | sed -n "$START,$ENDp" sed: -e expression #1, char 2: unexpected `,'
solution is to include the curly braces around the variable names
$ printf "one\ntwo\nthree\nfour\nfive\n" | sed -n '${START},${END}p'
sed: -e expression #1, char 3: unknown command: `S'
solution is to use double quotes in the sed commands so the variables are expanded