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
しかし、私はそれらを2つの異なる行として取得し、どうすればそれをsed
コマンドにフィードできますか
その後、上記のコマンドの結果をlp
コマンドに次のようにフィードしたいと思います...
sed -n 'X,Yp' FileName.txt | lp -dmyprinter
これはファイルを作成せずに実行できますか?
事前にラインを見つけるために2つのフェーズは必要ありません。 sed
ですべてを実行するだけです。
sed '/Page # 2/,/Page # 3/!d' < FileName.txt
次のような変数で値を保持するようにしてください。
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