bashの別のファイルに出力の最後の行を追加する

bashの別のファイルに出力の最後の行を追加する

私はプログラムを100回繰り返すbashスクリプトを書いた。各反復の出力には14行がありますが、残りの分析には14行(最後の行とも呼ばれます)のみが必要です。

同様の質問に対する回答を読みましたが、すべて出力に名前付き行があるとします。一方、出力の10行目は次のとおりです。

1 0 0.005 63.01

grep付ける名前がありません。

私は10行を取り、bashスクリプトで実行された各繰り返しに対して、total_output.txt次のように他のファイル()の一番下に出力を追加したいと思います。

left right p-value ratio

1 0 0.005 63.01
1 0 0.02 67.23

そして、各繰り返しごとに続きます。好ましくは、これは同じbashスクリプト内にあり、各反復に対するプログラム出力を保存する必要はない。

私はLinuxとbashスクリプトに初めて触れました。同様の質問に対する答えを私の問題に適用する方法を本当に理解することはできません。

ベストアンサー1

以下を使用すると、tail最後の行のみを取得できます。total_output.txt

your_program | tail -n 1 >> total_output.txt

コマンドは3つの部分で構成されています。

  • your_programプログラムを実行し、繰り返し内容を出力します。
  • | tail -n 1この出力の最後の行のみを取得します(接頭辞でパイプが付く)。
  • >> total_output.txt指定されたファイルに最後の行を追加します(追加の出力リダイレクタが前に付けられます)

おすすめ記事