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

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

最初の5〜10行にASCIIテキスト情報が含まれており、その後に注意深く表に記された行列情報を含むいくつかのファイルがあります。シェルスクリプトで他のプログラムで純粋な行列情報を使用できるように、テキストの最初の数行を削除したいと思います。 bashシェルコマンドを使用してこれを行うにはどうすればよいですか?

役に立つ場合は、RedHatとUbuntu Linuxシステムを使用しています。

ベストアンサー1

ファイルがシンボリックリンクまたはハードリンクでない限り、sed、tail、またはawkを使用できます。以下の例

$ cat t.txt
12
34
56
78
90

sed

$ sed -e '1,3d' < t.txt
78
90

一時ファイルなしでsedをその場で使用することもできますsed -i -e 1,3d yourfile。これは何も表示せず、ファイルをその場で変更するだけです。結果を別のコマンドにパイプする必要がない場合は、簡単です。

$ tail -n +4 t.txt
78
90

アッ

$ awk 'NR > 3 { print }' < t.txt
78
90

おすすめ記事