シェルスクリプトでファイルの4行だけを維持する方法は?

シェルスクリプトでファイルの4行だけを維持する方法は?

入力ファイル:

01.05.2016 87893938
02.05.2016 35435345  
03.05.2016 35435345  
04.05.2016 12345678

ファイルに4行だけ保持したいです。つまり、日付05.05.2016 6905698を挿入すると、私のファイルの最初の行が削除されます。私のファイルには過去4日間のデータのみが必要です。

結果ファイル:

02.05.2016 35435345  
03.05.2016 35435345  
04.05.2016 12345678  
05.05.2016 89459678

ベストアンサー1

cp -p file file.orig && \
tail -n 4 file.orig > file && \
rm file.orig

これは元のファイルのコピーバックアップコピーの場合は、バックアップコピーから最後の4行のみを検索し、この4行を元のファイル名に入れてからバックアップコピーを削除します。

おすすめ記事