回答:
あなたはこのようなことをすることができます:
sed -e :a -e '$q;N;11,$D;ba'
sed -e :a -e '$q;N;11,$D;ba' foo質問と一致します。
sed -e '1,11p' -e :a -e '$q;N;11,$D;ba' しかし、私はまだ尾の部分を理解したいと思います!!!
あるexprシステムで利用可能?次に、ファイル内の合計行数をカウントした後、目的の行番号を評価してみることができます。
tmp各行に1から20までの数字を含むという名前のファイルを作成しました。
nlines=$(cat tmp | sed -n '$=')
cat tmp | sed -n $(expr $nlines - 9),"$nlines"p
11
12
13
14
15
16
17
18
19
20
もちろん、wc -l可能な場合はを使用できます。
ファイルの総行数を計算するコマンドは、sed one linersから取得されます。ただし、空のファイルでも動作するかどうかは確認していません。
PS exprが利用できない場合、以下に示すようにBashで減算数を使用できます。
cat tmp | sed -n $((nlines-9)),"$nlines"p