GNU/Linux >> Linux の 問題 >  >> Linux

シェルコマンドを使用してASCIIファイルの最初のN行を削除するにはどうすればよいですか?

最初の5〜10行にASCIIテキスト情報が含まれ、その後に適切に表にされたマトリックス情報が続く複数のファイルがあります。シェルスクリプトでは、これらの最初の数行のテキストを削除して、別のプログラムで純粋なマトリックス情報を使用できるようにします。これを行うためにbashシェルコマンドを使用するにはどうすればよいですか?

何か助けがあれば、私はRedHatとUbuntuLinuxシステムを使用しています。

承認された回答:

ファイルがシンボリックリンクまたはハードリンクでない限り、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

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

Linux
  1. Bashで、最初のX行をスキップしてファイルを印刷します

  2. Red Hat Linux の標準ツールを使用して、ファイル内の行をランダム化するにはどうすればよいですか?

  3. ファイルの行をコマンドの引数として使用するにはどうすればよいですか?

  1. ファイルの最初の行の前にテキストを挿入する方法は?

  2. Sedを使用してテキストファイルから複数のランダム行を削除する方法は?

  3. シェル コマンドのソース コードを読むにはどうすればよいですか?

  1. シェルのコマンド出力から最初/最後の「n」行を削除するにはどうすればよいですか?

  2. ファイルの行をループする方法は?

  3. Vimでファイルのすべての行を削除する方法