使用地址格式时,sed不打印行

时间:2014-02-21 13:56:53

标签: sed

sed不会将第1行打印到第545行。以下命令的结果为空resultfile.txt。有人可以说什么应该是正确的命令?

RESULT=545;sed -n '1, $RESULT p' Configuration.txt > resultfile.txt

2 个答案:

答案 0 :(得分:1)

使用双引号以扩展$ RESULT:

RESULT=545;sed -n "1, $RESULT p" Configuration.txt > resultfile.txt

顺便说一句,以下内容会更简单:

head -$RESULT Configuration.txt > resultfile.txt

而且,如果您的文件很大,只要您到达第545行并且效率更高,就会退出:

sed ${RESULT}q Configuration.txt > resultfile.txt

答案 1 :(得分:1)

以上不是sed问题,而是shell问题:您使用单引号来抑制变量扩展。

$ echo '$PWD'
$PWD
$ echo $PWD
/tmp
$ echo "$PWD"
/tmp

根本没有引号或双引号允许shell扩展变量。 (没有引号表示shell会扩展所有内容;双引号会禁止全局,重定向等。)