使用地址格式时,sed不打印行
sed不会将第1行打印到第545行。以下命令的结果为空resultfile.txt。有人能说什么是正确的命令吗使用地址格式时,sed不打印行,sed,Sed,sed不会将第1行打印到第545行。以下命令的结果为空resultfile.txt。有人能说什么是正确的命令吗 RESULT=545;sed -n '1, $RESULT p' Configuration.txt > resultfile.txt 使用双引号以便展开$RESULT: RESULT=545;sed -n "1, $RESULT p" Configuration.txt > resultfile.txt 顺便说一句,以下内容更简单: head -$RESULT Con
RESULT=545;sed -n '1, $RESULT p' Configuration.txt > resultfile.txt
使用双引号以便展开$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
以上不是一个
sed
问题,而是一个shell问题:您使用了单引号,这会抑制变量扩展
$ echo '$PWD'
$PWD
$ echo $PWD
/tmp
$ echo "$PWD"
/tmp
要么完全没有引号,要么是双引号,都允许shell展开变量。(完全没有引号意味着shell扩展所有内容;双引号禁止全局搜索、重定向等。)双引号解释变量,在第一个
之后没有空格,
使用q
退出sed
(尽管在使用sed
编辑stdin时,要小心管道破裂错误)。