シェルコマンドを使用してファイルの最初のn行と最後の行を削除する方法は?

シェルコマンドを使用してファイルの最初のn行と最後の行を削除する方法は?

名前には次のファイルがありますElement_query

SQL> select count (*) from element;

[Output of the query which I want to keep in my file]

SQL> spool off;

シェルコマンドを使用して最初の行と最後の行を削除したいと思います。

ベストアンサー1

GNUの使用sed:

sed -i '1d;$d' Element_query

仕組み:

  • -iファイル自体を編集するオプション。必要に応じてオプションを削除し、出力を新しいファイルまたは別のコマンドにリダイレクトすることもできます。
  • 1d最初の行を削除する(1最初の行にのみ影響するためd削除)
  • $d最後の行を削除する($最後の行にのみ適用、d削除)

さらに一歩進んでください。

  • 範囲を削除することもできます。たとえば、1,5d最初の5行を削除します。
  • SQL>usingステートメントで始まるすべての行を削除することもできます。/^SQL> /d
  • すべての空白行を削除できます。/^$/d
  • 最後に、statement1;statement2;satement3;...セミコロン()で区切ったり、コマンドラインで個別に指定()してすべての-e 'statement1' -e 'statement 2' ...ステートメントを結合したりできます。

おすすめ記事