Não é necessário que as duas fases descubram as linhas de antemão. Basta fazer a coisa toda com sed
:
sed '/Page # 2/,/Page # 3/!d' < FileName.txt
Eu quero imprimir um arquivo de texto de X
número da linha para Y
número da linha
O valor de X
& Y
é determinado procurando por uma linha específica no arquivo de texto (neste caso, o número da página)
Eu procuro a linha pelo seguinte comando
echo -n |grep -nr "Page # 2" FileName.txt |cut -f1 -d: ; echo -n |grep -nr "Page # 3" FileName.txt |cut -f1 -d:
para o qual recebo uma saída
67
128
Eu quero alimentar esta saída para o comando abaixo
sed -n 'X,Yp' FileName.txt
Mas eu os recebo como duas linhas diferentes, como posso alimentá-lo com o comando sed
Depois de querer alimentar o resultado do comando acima para o comando lp
, algo assim ...
sed -n 'X,Yp' FileName.txt | lp -dmyprinter
Isso pode ser feito sem criar um arquivo?
Tente manter os valores com variáveis, algo assim:
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:'
e, em seguida, use essas variáveis com sed:
sed -en "${FROM_LINE},${TO_LINE}p" FILE