sed가 줄 1을 줄 545로 인쇄하지 않습니다. 다음 명령의 결과는 빈 resultfile.txt입니다. 누군가가 올바른 명령이 무엇인지 말할 수 있습니까? 그 $ 결과가 확장되도록주소 형식을 사용할 때 sed가 줄을 인쇄하지 않습니다.
RESULT=545;sed -n '1, $RESULT p' Configuration.txt > resultfile.txt
sed가 줄 1을 줄 545로 인쇄하지 않습니다. 다음 명령의 결과는 빈 resultfile.txt입니다. 누군가가 올바른 명령이 무엇인지 말할 수 있습니까? 그 $ 결과가 확장되도록주소 형식을 사용할 때 sed가 줄을 인쇄하지 않습니다.
RESULT=545;sed -n '1, $RESULT p' Configuration.txt > resultfile.txt
사용 따옴표 :
head -$RESULT Configuration.txt > resultfile.txt
을 그리고, 파일이 큰 경우이 : 그런데
RESULT=545;sed -n "1, $RESULT p" Configuration.txt > resultfile.txt
, 다음은 간단 할 것 라인 545에 도달하면 더 빨리 종료되어 더 효율적이됩니다.
sed ${RESULT}q Configuration.txt > resultfile.txt
좋은 점을 (따옴표는, 리디렉션 globbing을 억제하고, 같은. 전혀 인용 쉘이 모든가 확장을 의미합니다) 'sed' (stdin을 편집하기 위해'sed'를 사용할 때, 깨진 파이프 오류에주의하십시오). – torek
위의 내용은 sed
문제가 아니라 쉘 문제입니다. 변수 확장을 금지하는 작은 따옴표를 사용했습니다.
$ echo '$PWD'
$PWD
$ echo $PWD
/tmp
$ echo "$PWD"
/tmp
따옴표를 전혀 사용하지 않거나 큰 따옴표를 사용하면 셸에서 변수를 확장 할 수 있습니다. 종료`q`를 사용하여`,`
따옴표 후 처음 변수 + 어떤 공간을 해석하는 – NeronLeVelu