X
줄 번호 부터 Y
줄 번호 까지 텍스트 파일을 인쇄하고 싶습니다.
X
&의 값은 Y
텍스트 파일에서 특정 줄(이 경우 페이지 번호)을 검색하여 결정됩니다.
다음 명령으로 줄을 검색했습니다.
echo -n |grep -nr "Page # 2" FileName.txt |cut -f1 -d: ; echo -n |grep -nr "Page # 3" FileName.txt |cut -f1 -d:
이를 위해 나는 출력을 얻었습니다.
67
128
이 출력을 다음 명령에 공급하고 싶습니다.
sed -n 'X,Yp' FileName.txt
sed
하지만 나는 그것들을 두 개의 다른 줄로 취급하고 있습니다. 어떻게 명령 에 제공할 수 있습니까?
lp
나중에 위 명령의 결과를 다음과 같이 제공하고 싶습니다 .
sed -n 'X,Yp' FileName.txt | lp -dmyprinter
파일을 만들지 않고도 이 작업을 수행할 수 있습니까?
답변1
경로를 미리 파악하기 위해 2단계가 필요하지 않습니다. 전체 작업을 완료하려면 다음 명령을 사용하십시오 sed
.
sed '/Page # 2/,/Page # 3/!d' < FileName.txt
답변2
다음과 같은 변수를 사용하여 값을 유지해 보세요.
FROM_LINE=`echo -n |grep -nr "Page # 2" FileName.txt |cut -f1 -d: `
TO_LINE=`echo -n |grep -nr "Page # 3" FileName.txt |cut -f1 -d:`
그런 다음 sed와 함께 다음 변수를 사용하십시오.
sed -en "${FROM_LINE},${TO_LINE}p" FILE