sed
ファイルが終了する前にN行のファイルアドレスを指定する簡単な方法はありますか?
たとえば、ファイルの内容を挿入しようとすると簡単に挿入できます。存在するで終わるsed -i '$ r file2.txt' file1.txt
前に で終わるが、sed -i -e '$ e cat file2.txt' file1.txt
いくつかのN行で道が見つからないようです。今後ファイルの終わり。$-5
5が垂直線であるのと同じです。おそらくhead
いくつかの組み合わせを使用できることを知っていますが、tail
純粋なアプローチを探していますsed
。
答え1
ファイルを元に戻したい場合があります。最初N ライン、次にそのラインの出力を反転します。
$ seq 100 > file
$ tac file | sed -n 5,10p | tac
91
92
93
94
95
96
答え2
他の答えと同様に、大きなバッファがない限り、sedを使用して1行でこれを行う方法がわかりませんが、2行を使用する方が簡単です。
NUM_LINES=$((`sed -n $= file1.txt`-20)) # or however many lines you want instead of 20
sed -i "$NUM_LINES r file2.txt" file1.txt
確かに、あなたはこれを一行にしたいと思い、N;N;
多くのsを使って行うことができますが、おそらくそれほど実用的ではありません。