あるテキストファイルAのn行目からm行目まで(n<m)を別のテキストファイルBに移動させる標準的な方法ってどんなの?

head -n A > temp
head -m A | tail -'expr m - n' >> B
tail +m A >> temp
mv temp A

たぶんこれでできるけどややこしすぎる気がして