sed不会将第1行打印到第545行。以下命令的结果为空resultfile.txt。有人可以说什么应该是正确的命令?
RESULT=545;sed -n '1, $RESULT p' Configuration.txt > resultfile.txt
答案 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会扩展所有内容;双引号会禁止全局,重定向等。)